我有一个名为 newresult 的数组,它会像这样打印到控制台:
const newresult = [
1, 0, 3, 0, 0, 0, 1, 2,
0, 0, 0, 1, 3, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, 3,
0, 0, 2
];
const sum = [newresult].reduce((partialSum, a) => partialSum + a, 0);
console.log(sum);
数组内容只是作为单独的数字打印。
抱歉,因为我确信这是显而易见的,但我在这里犯了什么小学生错误?
也尝试过这个:
const array1 = [newresult];
const initialValue = 0;
const sumWithInitial = array1.reduce(
(accumulator, currentValue) => accumulator + currentValue,
initialValue,
);
相同的结果:
01,0,3,0,0,0,1,2,0,0,0,1,3,0,0,0,0,0,0,2,0,0,0,3,0 ,0,2
谢谢你
您将
newresult
本身就是一个数组放入另一个数组中,因此在reduce回调中它基本上是将数组转换为字符串并向其添加0
const newresult = [
1, 0, 3, 0, 0, 0, 1, 2,
0, 0, 0, 1, 3, 0, 0, 0,
0, 0, 0, 2, 0, 0, 0, 3,
0, 0, 2
]
const sum = newresult.reduce((partialSum, a) => partialSum + a, 0);
console.log(sum);