Javascript减少一个空数组

标签 javascript arrays ecmascript-5

当我减少数组时,我试图让数字为零,但我不清楚函数的行为

[].reduce(function(previousValue, currentValue){
  return Number(previousValue) + Number(currentValue);
});

结果

TypeError: Reduce of empty array with no initial value

似乎如果数组为空我就不能减少它

[""].reduce(function(previousValue, currentValue){
  return Number(previousValue) + Number(currentValue);
});

结果

""

如果数组中的唯一元素是一个空字符串,则检索一个空字符串

最佳答案

The second parameter 为初始值。

[].reduce(function(previousValue, currentValue){
  return Number(previousValue) + Number(currentValue);
}, 0);

或使用 ES6:

[].reduce( (previousValue, currentValue) => previousValue + currentValue, 0);

关于Javascript减少一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23359173/

相关文章:

javascript - Ember JS 如何获取具有唯一属性值的数组

javascript - 为什么我们需要 isPrototypeOf 呢?

javascript - 使用 Node Express JS 在 AngularJS 中重复 ajax 调用

c - 在C中交换数组内的奇数和偶数

javascript - 从云功能中的 firebase 存储下载时出错

javascript - 在 jQuery/javaScript 中迭代对象数组(时间相关迭代)

javascript - var 关键字的用途是什么以及何时应该使用它(或省略它)?

javascript - 如何将变量转换为特定类型以使 typescript 无处不在?

javascript - 检查变量是否未定义,因为它 === true 或已分配值

Javascript 表单验证(电话)