JavaScript中reduce的⽤法
JavaScript之reduce()的⽤法
⽂章⽬录
前⾔
本篇为⽂章主要总结了reduce()的⽤法,可能有⼀些难理解,可以多看⼏遍,然后动⼿实际操作。
⼀、⾸先了解⼀下什么是reduce
1、reduce() ⽅法接收⼀个函数作为累加器,reduce 为数组中的每⼀个元素依次执⾏回调函数,不包括数组中被删除或从未被赋值的元素。(看不懂,往下看简单的实例)
语法:duce(callback,[initialValue])
callback:函数中包含四个参数
- previousValue (上⼀次调⽤回调返回的值,或者是提供的初始值(initialValue))
- currentValue (数组中当前被处理的元素)
- index (当前元素在数组中的索引)
- array (调⽤的数组)
initialValue (作为第⼀次调⽤ callback 的第⼀个参数。)
2、实例
const arr =[1,2,3,4,5]
const sum = duce((prev, cur)=>{
return prev + cur
},0)
console.log(sum)// 15
这⾥的0表⽰的是默认第⼀次调⽤回调函数的初始参数。
如果是1的话结果就会变成16
const arr =[1,2,3,4,5]
const sum = duce((prev, cur)=>{
return prev + cur
},1)
console.log(sum)//16
3、当然也可⽤于数组对象中使⽤
indexof的用法javascriptconst scores =[
{
subject:'java',
score:80
},
{
subject:'python',
score:80
},
{
subject:'Javascript',
score:80
}
];
const sum = duce((prev, cur)=>{
return prev + cur.score
},0)
console.log(sum)
是不是感觉明⽩了⼀些⽤法
⼆、进阶的⽤法
1、数组去重
var arr =[1,2,3,4,4,5,5]
var newArr = duce(function(prev, cur){
prev.indexOf(cur)===-1&& prev.push(cur);
return prev;
},[]);
⾸先初始参数为⼀个空数组,然后⽤indexOf来判断数组中是否有数组,⽤push⽅法来将元素添加到数组中2、将⼆维数组变为⼀维数组
var arr =[1,2,3,4,[5,6,7]];
var res = duce((x, y)=> x.concat(y),[]);
console.log(res);
总结
如果⼩伙伴还有其它⽅法,欢迎评论探讨,如果有什么错误指正,虚⼼接受

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。