- 代码 1
const res = [1,2,3].reduce(function(prev, next) {
return prev + next;
}, undefined);
console.log('res: ', res);// NaN
- 代码 2
const res = [1,2,3].reduce(function(prev, next) {
return prev + next;
});
console.log('res: ', res);// 6
为什么两段代码执行的结果不一样呢?难道有判断 没有传递参数
和 传递 undefined
的方法吗?
- 我的猜想
reduce
内部应该不是显示的接收参数 而是类似于 reduce(...args)
的方式来判断 args.length
来设置对应的 initial
的,不知道有没有大佬官方解释一波~
https://developer.mozilla.org...