You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何实现两个等长数组同索引元素分别求和

JavaScript 同长度数组对应索引元素求和的最优实现

最简洁优雅的实现方式是使用Array.prototype.map()方法,借助回调自带的索引参数读取第二个数组的对应位置元素求和,一行代码即可得到目标结果。

最简实现代码

let arr1 = [1, 2, 3];
let arr2 = [8, 9, 2];
const result = arr1.map((currentNum, index) => currentNum + arr2[index]);
// 运行后result值为 [9, 11, 5],完全匹配预期结果

实现逻辑说明

  • map方法遍历第一个数组时,回调函数的第二个入参就是当前遍历元素的索引值
  • 用该索引直接读取第二个数组同位置的元素,和第一个数组的当前元素相加,返回值会自动作为新数组同索引位的元素
  • 题目已明确两个数组长度始终一致,无需额外做长度校验、空值判断,代码可以保持最精简状态

之前写法失效的常见原因

用map、for循环没得到正确结果,基本都是踩了以下问题:

  • 写map逻辑时只接收了当前元素参数,没有接收索引参数,无法定位第二个数组的对应位置元素
  • 写for循环时索引初始值错误(比如从1开始计数)、循环边界值错误(比如用<=代替<),或者忘记将求和结果push到新数组中

附正确的for循环实现参考:

const result = [];
for (let i = 0; i < arr1.length; i++) {
  result.push(arr1[i] + arr2[i]);
}

拓展提示:如果后续遇到数组长度不一致的场景,只需要在遍历前增加长度对齐逻辑即可,比如取两个数组长度的最大值,缺省位置补0参与计算。

内容的提问来源于stack exchange,提问作者Michaela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:01:21