javascript - Reducer 从数组返回 NAN

标签 javascript arrays undefined nan

问题

我有一个这样的数组:

let oddsArray = [undefined, undefined, 5, 5]

还有一个reducer函数:

const reducer = (accumulator, currentValue) => accumulator + currentValue

当我调用 console.log 时,我得到了这个:

console.log(oddsArray.reduce(reducer, 1), 'oddsArray') /// NAN

直到数组不再包含undefined:

[5, 5, 5, 5] /// 20

我想要发生的事情

我希望能够将数组中的所有数字相加,即使该数组中包含未定义的值。所以初始数组应该等于:

let oddsArray = [undefined, undefined, 5, 5] // 10

我如何实现这一目标?

谢谢!

最佳答案

您可以检查 undefined 值,如下所示:currentValue || 0

let oddsArray = [undefined, undefined, 5, 5]
const reducer = oddsArray.reduce((accumulator, currentValue) =>
                      accumulator + (currentValue || 0), 0);
console.log(reducer);

关于javascript - Reducer 从数组返回 NAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034552/

相关文章:

javascript - 您推荐经验丰富的开发人员在哪里学习 Javascript?

php - Foreach 分解字符串停止

arrays - TYPO3 Fluid 使用第二个数组的迭代器

javascript - 如何避免在 Javascript 的大循环中测试要添加到字符串中的元素是否存在?

数组中的 Javascript 标点返回 'undefined'

javascript - 基于特定键一起重组数组 - javascript

javascript - 将 jquery 'this' 和 'next' 更改为特定元素

arrays - Windows 批处理静态列表重命名-移动

c++ - 使用 libcurl 的项目中 undefined reference

javascript - 谷歌地图地理编码 - offsetWidth