解析Javascript数组方法减少
总结
缩减()方法是一种数组的实例方法(普通方法),它可以由数组的实例对象调用。减少()方法接收一个函数作为累加器(累加器),数组中的每个值(从左到右)开始收缩,最后是一个值。
语法
Arr.reduce(回调{,初值}){ }
参数
可以在回调函数中传递四个参数。
previousvalue:这个回调函数返回上一次的值或初始值(初值)提供
CurrentValue:当前处理的数组中的元素
currentindex:在数组中,这是当前元素的索引,索引的当前价值。如果有一个初始值的初始值,从0开始。如果不是从1
数组:减少数组
初始值:可选参数,为首次回调的第一个参数
返回值
还原()的返回值是最后一次调用返回的返回函数的结果。
描述
为数组中的每个元素执行一个回调函数,该函数不包含数组中删除或从未赋值的元素,并接受四个参数:
previousvalu的第一价值
电流的电流值
对currentindex当前价值的指标
阵列
回调函数的第一个实现,previousvalue和电流值可以是两种不同的值,如果降低初始参数,然后previousvalue等于初始值,而电流值等于数组中的第一个值降低;如果不是初始参数,然后previousvalue等于数组中的第一个值,值的数组在第二电流等于。
注意:如果没有初始参数,减少执行回调函数的指数1,跳过第一个索引。如果有一个初始参数,减少将从指数开始回调到0
如果数组是空的,没有初始参数,将抛出TypeError错误。如果数组只有一个元素,没有初始值初始值或初始值,而数组是空的,只有返回值的情况下直接调用回调函数。
一般来说,它是提供一个初始值初始值比较安全,因为输出结果将显示为号
/ /不提供初值
函数(){
返回{ 12345 }。减少((x,y)= x + y); / / 15
};
console.log(foo.call(这));
函数(){
返回{ }。减少((x,y)= x + y); / /列表
};
console.log(foo.call(这));
/ /初值
函数(){
返回{。}((x,y)= x,y,0);0
};
console.log(foo.call(这));
如何减少()工作
{ 0, 1, 2,3, 4 }。减少((previousvalue,电流值、指数、阵列)= previousvalue +电流);
回调执行四次,每次参数和返回值如下所示:
还原的返回值是回调函数的最后一次调用的返回值(10)。
如果将初始值作为第二个参数传递到还原中,结果如下:
{ 0, 1, 2,3, 4 }。减少((previousvalue,电流值、指数、阵列)= previousvalue +电流,10);
最后一个函数调用(20)的返回值(20)作为函数的结果返回。
注:添加一个初始参数来调用一个回调函数
实例
添加数组的所有项
设和={ 0, 1, 2,3, 4 }。减少((x,y)= x,y,0);
10
二维数组的扁平化
让ARR = { { 1, 2 },{ 3, 4 },{ 5, 6 } }。减少((x,y)= x.concat(Y),{ });
2 1, 3, 4,5, 6 }
以上是本文的全部内容,希望本文的内容能给大家的学习或工作带来一定的帮助,同时也希望能给予更多的支持!