如何在JavaScript中仅计算嵌套数组首个子数组的和
只对第一个子数组求和的实现方案
针对你的需求,只需要在map回调里通过索引判断来区分处理第一个子数组和其他子数组即可,修改后的代码如下:
let arr = [[1,2,3],[4,5,6]]; const result = arr.map((value, i) => { if (i === 0) { // 对第一个子数组求和后包裹为数组 return [value.reduce((acc, curr) => acc + curr, 0)]; } // 其余子数组直接返回原内容 return value; }); console.log(result); // 输出 [[6],[4,5,6]]
关键逻辑说明
map方法的第二个参数i代表当前子数组在原数组中的索引,利用i === 0精准定位第一个子数组- 对第一个子数组用
reduce求和后,必须把结果包裹进新数组[],才能保证输出格式是[6]而非单独的数字6 - 非第一个子数组直接返回原数组,保持原有结构不变
内容的提问来源于stack exchange,提问作者NewJS
相关产品推荐
相关产品推荐

