大家好,又见面了,我是你们的朋友全栈君。
目录
ES6 数组新增方法
1、 .map
.map() 给数组中的每一个元素添加特殊处理,返回新的数组
实现给定数组添加元
let prices=[20,30,40] //20元 30元 40元
let arr=prices.map(item=>item+"元")
给给定数据替换某内容
let movies=[{id:1,name:'逃学威龙',imgUrl:"http://xxx.douban.com/1.png"},
{id:2,name:'逃学威龙',imgUrl:"http://xxx.douban.com/1.png"},
{id:3,name:'逃学威龙',imgUrl:"http://xxx.douban.com/1.png"}]
movies=movies.map(item=>{
item.imgUrl=item.imgUrl.replace("xxx","www")
return item
})
console.log(movies)
2、some和every 方法
.every() 依次 拿出数组中的元素与特定的值进行比较,如果一个返回的是假 整体返回就是假,如果全部返回真 ,则为真 一假既假
.some() 依次 拿出数组中的元素与特定的值进行比较,如果一个返回的是真 整体返回就是真, 一真既真
let scores=[2,5,4,8,6,1,11,12]
let result=scores.every(item=>item>=10)
console.log(result)//false
let scores=[2,5,4,8,6,1,11,12]
let result=scores.some(item=>item>=10)
console.log(result)//true
3、filter
依次拿出数组中的元素 返回符合要求的元素
let arr=[20,10,5,40,50]
let result=arr.filter(item=>item>30)
console.log(result)//[40,50]
4、数组新增的reduce方法
let result=arr.reduce((prev,item,index,array)=>{
1.prev 上次操作的返回结果
2.item 当前处理数组元素
3.index 当前处理数组元素的索引值
4.array 当前对应的数组
})
默认情况下 第一次的返回结果是第一个元素 即 第一个prev是数组第一个元素
利用reduce进行求和
let arr=[1,5,4,6]
let result=arr.reduce((prev,item)=>item+prev)
console.log(result) //16
利用reduce数组去重复
.includes() 判断数组是否有指定元素
let arr=["百度","腾讯","阿里","京东","百度","阿里","京东","百度"]
let result=arr.reduce((prev,item)=>{
if(!prev.includes(item)){
prev.push(item)
}
return prev
},[])
console.log(result)
利用reduce统计数组中每一个字符出现次数 ,返回一个对象
依次拿出数组中元素,判断其出现的次数 {a:2,n:1,}
let arr=["a","a","n","z"]
let result=arr.reduce((prev,item)=>{
//先判断当前是否有 这个属性,如果有属性那么 value++ ,如果没有属性 创造新属性 =1
//item是否存在prev中
//如何判断对象是否有指定属性
if(item in prev){
prev[item]++
}else{
prev[item]=1
}
return prev
},{})
console.log(result)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/143117.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...