Javascript 为什么accomulator设置为-10?
我想问你,为什么在这种情况下累加器设置为-10。我想,累加器的默认值设置为0Javascript 为什么accomulator设置为-10?,javascript,reduce,Javascript,Reduce,我想问你,为什么在这种情况下累加器设置为-10。我想,累加器的默认值设置为0 const number = [5, 10, 13, 18]; var x = number.reduce((accumulator, currentValue) => { return accumulator - currentValue}); console.log(x); 输出应为-46,但为-36。如果不为累加器提供初始值,则对回调函数的第一个调用将接收第一个条目作为第一个参数,第二个条目作为第二个参
const number = [5, 10, 13, 18];
var x = number.reduce((accumulator, currentValue) => { return accumulator - currentValue});
console.log(x);
输出应为-46,但为-36。如果不为累加器提供初始值,则对回调函数的第一个调用将接收第一个条目作为第一个参数,第二个条目作为第二个参数。因此,对您的第一个调用是
5,10
,并返回5-10
,即-5
。然后下一个调用是-5,13
,它是-5-13
,它是-18
,再次调用-18,18
,它产生-36
如果要从0
开始,则需要明确指定:
var x = number.reduce((accumulator, currentValue) => { return accumulator - currentValue}, 0);
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^
实例:
const number=[5,10,13,18];
var x=number.reduce((累加器,currentValue)=>{返回累加器-currentValue},0);
控制台日志(x)代码>当不为累加器提供初始值时,对回调函数的第一个调用将接收第一个条目作为第一个参数,第二个条目作为第二个参数。因此,对您的第一个调用是5,10
,并返回5-10
,即-5
。然后下一个调用是-5,13
,它是-5-13
,它是-18
,再次调用-18,18
,它产生-36
如果要从0
开始,则需要明确指定:
var x = number.reduce((accumulator, currentValue) => { return accumulator - currentValue}, 0);
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^
实例:
const number=[5,10,13,18];
var x=number.reduce((累加器,currentValue)=>{返回累加器-currentValue},0);
控制台日志(x)代码>这是我()喜欢简单循环而不是调用reduce
的原因之一。除非您使用预定义的、经过测试的reducer函数进行函数编程,否则它将比需要的复杂得多。这就是我()喜欢简单循环而不是调用reduce
的原因之一。除非您使用预定义的、经过测试的reducer函数进行函数编程,否则它将比需要的复杂得多。