【发布时间】:2021-12-16 14:52:43
【问题描述】:
我只想减少嵌套数字数组中的特定位置
const array1 = [[1,2,3],[4,5,6],[7,8,9],[11,12,13]];
console.log(array1.reduce((prev, curr) => prev[2] + curr[2]));
结果是NaN,另一种解法?
【问题讨论】:
标签: javascript arrays reduce
我只想减少嵌套数字数组中的特定位置
const array1 = [[1,2,3],[4,5,6],[7,8,9],[11,12,13]];
console.log(array1.reduce((prev, curr) => prev[2] + curr[2]));
结果是NaN,另一种解法?
【问题讨论】:
标签: javascript arrays reduce
1)你应该使用prev而不是prev[2]作为
prev 是 number 类型,您返回的不是 array
2) 如果要添加数字,则最好将初始值作为0 作为reduce 方法的第二个参数。
如果你不传递second 参数,那么reduce 会将0 索引处的数组元素作为起始值,即[1, 2, 3],然后如果你添加[1, 2, 3] + curr[2],那么它将产生如下值1,2,36,你没想到
const array1 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[11, 12, 13],
];
console.log(array1.reduce((prev, curr) => prev + curr[2], 0));
【讨论】: