javascript - 添加两个数组并返回一个新数组

标签 javascript

编写一个函数 addArrays,它接受 2 个数字数组作为参数,并返回一个新数组,其中将相同索引位置的元素加在一起。例如:addArrays([1,2,3], [4,3,2,1]);//=> [5,5,5,1]

我正在尝试使用嵌套 for 循环,但它给出的答案不正确....

  function addArrays(num1, num2){
      var result = [];
      for(var i=0; i< num1.length; i++){
        for(var j=0; j<num2.length; j++){
          result.push(num1[i] + num2[j]);
      }
      }
      return result;
    }

最佳答案

如果元素不存在,我建议只使用一个循环来检查长度和一些默认值。

function addArrays(array1, array2) {
    var i,
        l = Math.max(array1.length, array2.length),
        result = [];
    for (i = 0 ; i < l; i++) {
        result.push((array1[i] || 0) + (array2[i] || 0));
    }
    return result;
}

console.log(addArrays([1, 2, 3], [4, 3, 2, 1]));

关于javascript - 添加两个数组并返回一个新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37331831/

相关文章:

javascript - Angular:如何将 *ngFor 与父子组件一起使用

javascript - 显示 SQLite 表中的总行数

javascript - 检测所选文本无法正常工作

javascript - 如何使用node.js在服务器端用纯javascript读取JSON文件?

javascript - 有人能指出我的 jQuery 中的错误吗?

javascript - 使用 require/new 在 node.js 中实例化一个新对象

javascript - div类所应用的span id如何循环?

javascript - Screeps 获得所有具有特定内存(角色)的 creeps

javascript - Ajax 发布到 CodeIgniter Controller 不起作用

java - GWT:将用户转发到 URL