javascript - 在Javascript中使用reduce对空数组和非空数组求和

标签 javascript arrays

我正在尝试找到一种方法来编写一个函数来对数组中的所有元素求和。我一直在尝试使用 JavaScript 的 reduce 函数来实现这一点。我遇到的问题是我希望这个函数既适用于空数组,也适用于包含元素作为单独场景的数组。以下示例通过了空数组的测试用例,但当数组有元素时则未通过,反之亦然。

function sum (numbers) {
  numbers = ['a', 'b', 'c'];
  return numbers.reduce(function (x, y, i) {
  return x + y + i; 
}), 0 };

我正在查看reduce函数的签名,并尝试在此基础上实现它,但我的知识似乎缺少一些东西。

function (previousValue, currentElement, currentIndex, array)

最佳答案

以下内容适用于数字数组和空数组(结果显然为零)

var sum = numbers.reduce(function(prev,curr){
    return curr + prev;
},0);

下面是两个场景的演示

function sum(numbers){
  var x = numbers.reduce(function(prev,curr){
    return curr + prev;
  },0);
  return x;
}

alert(sum([1,2,3]));
alert(sum([]));

关于javascript - 在Javascript中使用reduce对空数组和非空数组求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34153769/

相关文章:

arrays - 排序数组的问题

javascript - 使用encodeURIComponent()的字符串原型(prototype)自定义方法

javascript - 移动/拖动时摆动/旋转 div 的惯性/气压

java - 基于类变量值合并两个类数组的最佳方法

javascript - 过滤路径数组以仅保留最浅的路径

c - 从数组中获取 RGB 十六进制值并将其作为 int 赋予 malloc 数组

javascript - 简单排行榜的冒泡排序

javascript - 黑莓网络工程 : Weird scrolling behavior with touchscreens

javascript - 如何通过 AJAX 加载 MVC 4 应用程序的首页?

javascript - div 水平滚动中的 Bootstrap 表不起作用