2017-12-22 17 views
-1

私は声明を減らすこのためno-return-assign毛羽立ちエラーを取得する実行します。ノーリターンアサインエラーを防止する方法は?

array.reduce((acc, { name }) => (acc[name] = 1, acc), {}) 

私は私のMongoDBが要求を見つけるために、私はフィールドのパラメータとして使用しますオブジェクトの結果を、得ることを期待しています。

どうすればこのエラーを防ぐことができますか?

+1

reduce操作の結果はどうしますか?何もない? –

答えて

1

no-return-assignあなたが比較するときに返信文に間違って割り当てることを防ぐために(つまり、===)は存在します。これは文法砂糖のためにここに当てはまります - あなたのコードは機能的に次のようになります:

array.reduce((acc, { name }) => { 
    return (acc[name] = 1, acc); 
}, {}); 

これを回避するには3つの方法があります。

あなたは割り当てを分離し、そのように、あなたのコードに返すことができます:

array.reduce((acc, { name }) => { 
    acc[name] = 1; 
    return acc; 
}, {}); 

あなたはそれがunless-parens設定を使用して括弧内に発生したときにno-return-assignを無視するESLintを設定することができます。

また、lintを完全に無効にすることもできます。

個人的には、コードを明確にするため、最初のオプションをお勧めします。

関連する問題