我的代码(有效):
const calculateBalance = (coins) => {
console.log('coins', coins);
return coins.reduce((bal, coin) => (bal += parseInt(coin.balance)), 0);
};
基本上我只想在我的投资组合中添加所有硬币余额,但是我得到了一个小的错误。
箭头功能不应该返回赋值。
谷歌搜索我发现了这个:https://eslint.org/docs/rules/no-return-assign
JavaScript的一个有趣且有时令人困惑的方面是分配几乎可以在任何时候发生。因此,当真正意图进行比较时,错误的等号最终会导致分配。使用return语句时尤其如此。
他们在这里有一个例子:
function doSomething() {
return (foo = bar + 2);
}
然而,这就是我实现的,但是eslint仍在抱怨...有没有办法更新我的代码块以使其通过?
答案 0 :(得分:1)
从规格。 (这里MDN)
reduce()方法对累加器和每个都应用一个函数 数组中的元素(从左到右)将其缩小为单个元素 值。
由于您的bal
是累加器,只需执行bal + parseInt(coin.balance)