2017-12-22 7 views
-1

ich einen no-return-assign Fusseln Fehler erhalten für diese Aussage reduzieren:Wie kann man einen Fehler bei der Rückgabe verhindern?

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

Ich erwarte ein Objekt Ergebnis zu erhalten, die ich als Parameterfelder für meine mongoDB Anfrage finden verwenden werden.

Wie verhindere ich den Fehler?

+1

Was haben Sie mit dem Ergebnis Ihres Reduce-Vorgangs vor? Nichts? –

Antwort

1

no-return-assign ist dort zu verhindern, dass Sie versehentlich in einer Rückgabeanweisung zuweisen, wenn Sie vergleichen wollten (d. H. = vs ==). Es gilt auch hier wegen der Syntax Zucker - Ihr Code diese funktional äquivalent ist:

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

gibt drei Möglichkeiten, ist man dieses Problem umgehen könnte.

Sie konnten die Zuordnung trennen und in Ihrem Code zurückkehren, etwa so:

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

Sie könnten ESLint konfigurieren no-return-assign zu ignorieren, wenn sie in Klammern tritt die unless-parens Einstellung.

Oder Sie könnten den Flusen zusammen deaktivieren.

Persönlich würde ich die erste Option empfehlen, da es den Code klarer macht.

Verwandte Themen