reduce:将数组中的元素进行整合,返回一个新的内容
prev:上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev
item:当前进入元素
index:进入元素的索引值
array:当前操作的数组
数组求和
let arr=[52,60,45,69,80]
let result=arr.reduce((prev,item)=>{
return prev+item
},0)
console.log(result)
拼接字符串
自定义 初始化参数 prev
let arr=["百度","腾讯","阿里","京东"]
利用reduce方法 将其拼接成 <li>百度</li>.... 返回
let result=arr.reduce((prev,item)=>{
return prev+"<li>"+item+"</li>"
},"") //"这里面是初始化参数"
console.log(result)
数组的去重(reduce实现数组中的去重,返回一个新的没有重复的数组)
let arr=["百度","腾讯","阿里","京东","百度","腾讯","京东"]
let result=arr.reduce((prev,item)=>{
if(!prev.includes(item)){
prev.push(item)
}
return prev
},[])
console.log(result)
统计字符的出现次数
let arr=["a","v","v","a","w","q","w","i","o","e"]
//返回一个对象{a:2,v:2,w:2}
let result=arr.reduce((prev,item)=>{
if(item in prev){
//对于对象 属性是变量[]
prev[item]++
}else{
prev[item]=1
}
return prev
},{})
console.log(result)