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

如何对嵌套数组中对应位置的元素求和生成新数组?

嵌套数组对应位置元素求和的实现

给定嵌套数组:

const array1 = [[5, 10, 15], [1, 2, 3]];

需要转换为对应位置元素求和后的数组:

const sum = [6, 12, 18];

以下是几种实用的实现方式:

方法一:针对两个子数组的简单实现

利用map方法遍历第一个子数组的元素,通过索引匹配第二个子数组的对应元素并求和:

const array1 = [[5, 10, 15], [1, 2, 3]];
const sum = array1[0].map((num, index) => num + array1[1][index]);
console.log(sum); // 输出: [6, 12, 18]

方法二:支持任意数量子数组的通用实现

如果嵌套数组包含多个子数组(且长度一致),可以用reduce方法累加对应位置的元素:

const array1 = [[5, 10, 15], [1, 2, 3]];
const sum = array1.reduce((acc, curr) => {
  return curr.map((num, index) => acc[index] + num);
});
console.log(sum); // 输出: [6, 12, 18]

方法三:处理子数组长度不一致的情况

如果子数组长度不同,可以先取最短子数组的长度,再进行求和,避免索引越界:

const array1 = [[5, 10, 15, 20], [1, 2, 3]];
const minLength = Math.min(...array1.map(arr => arr.length));
const sum = array1.reduce((acc, curr) => {
  return curr.slice(0, minLength).map((num, index) => acc[index] + num);
});
console.log(sum); // 输出: [6, 12, 18]

内容的提问来源于stack exchange,提问作者Timo Kivelä

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:10:36