js中reduce方法,js.reduce,js中的reduce()函数讲解

js中reduce方法,js.reduce,js中的reduce()函数讲解

今天小编就为大家分享一篇关于射流研究…中的减少()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

定义:

减少()方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。

案例

1.数组求和

//1.数组求和

var arr=[1,5,8,6,15,78,65,25,48,55]

var sum=arrreduce(function(total,currentValue){

返回当前总值;

});

控制台。log(总和);//306

var每个总和=0;

由…改编foreach(函数(当前值){

eachSum=当前值

})

控制台。日志(每笔);//306

2.合并二维数组

//2.合并二维数组

var twoArr=['木','子'],['挖','大'],['吉','吉']];

变量一数组=二数组。reduce(function(total,currentValue){

//console.log(总计)

返回总计。concat(当前值);

})

控制台。日志(一个arr);//['木','子','挖','大','吉]

3.统计一个数组中有多少个不重复的单词:

//3.统计一个数组中有多少个不重复的单词:

//不用减少时:

var arr=['苹果','橘子','苹果','橘子','梨','橘子'];

函数getWordCnt(){

var obj={ };

for(var i=0,l=arr.lengthI li ){

var item=arr[I];

obj[item]=(obj[item]1)| | 1;

}

返回目标文件

}

控制台。log(getword CNT());//{苹果:2,橘子:3,梨:1}

//用减少时:

var arr=['苹果','橘子','苹果','橘子','梨','橘子'];

函数getWordCnt(){

return arr.reduce(function(prev,next){

prev[next]=(prev[next]1)| | 1;

返回上一个

},{});

}

控制台。log(getword CNT());//{苹果:2,橘子:3,梨:1}

4.对reduce的理解:

减少(回调,初始值)会传入两个变量,回调函数(回拨)和初始值(初始值).

假设函数有个传入参数,上一页和接下来,索引和数组。上一个和然后是你必须要了解的。

当没有传入初始值时,上一页是从数组中第一个元素开始的,下一个是第二个函数。

但是当传入初始值(初始值)后,第一个上一个将是初始值,下一个将是数组中的第一个元素。

比如:

//4.对减少的理解:

var arr=['苹果','橘子'];

函数noPassValue(){

return arr.reduce(function(prev,next){

console.log('prev:',prev);

console.log('next:',next);

返回上一个

});

}

函数passValue(){

return arr.reduce(function(prev,next){

console.log('prev:',prev);

console.log('next:',next);

prev[next]=1;

返回上一个

},{});

}

console.log('无附加参数:',无传递值());

控制台。日志('-');

console.log('用{}作为附加参数:',传递值());

/*

VM415673:4上一版:苹果

VM415673:5下一个:橙色

VM415673:4上一版:苹果

VM415673:5下一个:橙色

VM415673:19没有附加参数:苹果

VM415673:20 -

VM415673:13上一个:{}

下一个:苹果

VM415673:13上一页:{苹果:1}

VM415673:14下一个:橙色

VM415673:21,使用{}作为附加参数:{苹果:1,橘子:1}

*/

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: