最近、eslintルールno-param-reassign
が追加されました。しかしArray.prototype.reduce()関数でeslint no-param-reassignルールを処理する方法
、私はno-param-reassign
リンターの苦情の原因となる各コールバックの繰り返し、上の(最初のコールバック関数のargを)accumulator
(などのオブジェクト(initialValue
として空のオブジェクト)、私は自分自身を修正する必要を見つけるを構築するためにreduce
を使用誰かがそれを望むだろう)。
const newObject = ['a', 'b', 'c'].reduce((result, item, index) => {
result[item] = index; // <-- causes the no-param-reassign complaint
return result;
}, {});
accumulator
引数を変更しないreduce
を持つオブジェクトを構築するためのより良い方法はありますか?
私のreduce
コールバック関数で、その行のlintingルールを無効にするだけでいいですか?
注この質問を再訪していますが、これは特にです:true'をルールに。デフォルトではこれについて不平を言っていません。あなたがその行動を望んでいない場合は、それを 'false'に設定するように思えるでしょうか?または、 '// eslint-disable-line no-param-reassign.'を付けてフラグを付けてください。 – loganfsmyth
これは良い点です@loganfsmyth。私は、「小道具」を真実に設定することが本当に私たちが望んでいるものかどうかを見直すためにいくつかの再検討を行うでしょう... – sfletche