javascript - 在单次迭代中对两个数组求和

标签 javascript arrays loops

我想将数字数组的每个值与其在不同数字数组中的对应值求和,并且我想在不循环遍历每个单独的值的情况下执行此操作。

所以:

var array1 = [1,2,3,4];
var array2 = [5,6,7,8];

var sum    = [6,8,10,12];

我很想一下子做到这一点,而不是这样做:

for(var i = 0; i < array1.length; i++){
   sum.push(array1[i] + array2[i]);
}

有人能想出办法吗?我很困惑。

最佳答案

我知道这是一个老问题,但我只是与某人讨论这个问题,我们提出了另一个解决方案。您仍然需要一个循环,但可以使用 Array.prototype.map() 来完成此操作。

var array1 = [1,2,3,4];
var array2 = [5,6,7,8];

var sum = array1.map(function (num, idx) {
  return num + array2[idx];
}); // [6,8,10,12]

关于javascript - 在单次迭代中对两个数组求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24094466/

相关文章:

java - 在选择排序项目中,10 个元素的数组仅接受 5 个整数

php - 使用 for 循环将变量添加到数据库

python - 在循环中按索引遍历列表列表,以重新格式化字符串

javascript - 将 <br/> 标记附加到 textarea jquery 中的值

javascript - html5 拖放使用 jquery(不是 jquery UI)

javascript - 试图清除按钮输入时,form.elements.filter 不是函数

javascript - 在 for 循环中如何传递 document.getElementById ('' ).onClick 调用的函数的参数

javascript - 无法访问 Javascript 中的数组数据

arrays - 使用 $addToSet Mongo 运算符添加多个值

java - break 是否比检查 Java 中的循环条件更有效?