const numberArray = [2, 23, 3, 4, 5, 6, 7, 8, 9, 10];
const added = numberArray.reduce((sum, indexValue, index, numberArray) => {
if(index === 0) {
console.log(`${index} : ${indexValue}`);
}else{
return sum = indexValue;
}
}, 0);
console.log(added);
CodePudding user response:
The function passed to reduce should always return something, specifically a value that can be used in the reduction calculation. Currently yours doesn't if index === 0. The default return value is undefined, and once you perform math on undefined you get NaN.
Return a value. For example, if you want to return 0:
const numberArray = [2, 23, 3, 4, 5, 6, 7, 8, 9, 10];
const added = numberArray.reduce((sum, indexValue, index, numberArray) => {
if(index === 0) {
console.log(`${index} : ${indexValue}`);
return 0; // <--- here
}else{
return sum = indexValue;
}
}, 0);
console.log(added);
