map、ilter、every、some和reduce 方法

一:map方法:给数组中的每一个元素进行特殊处理后,返回一个新的数组

用法:arr.map(item,index) item表示每个元素,index表示索引

案例一:给数组中每个元素后面加个字

 let prices=[50,80,90]
		prices=prices.map(item=>{
			return item+"元"
		})
        // prices=prices.map(item=>item+"元")//简写的方式
        console.log(prices)// 50元,80元,90元

案例二: 微信小程序: 豆瓣影评,图片地址的更换

 let movies=[{id:1,name:"逃学威龙",imgUrl:"http://xxx.douban.com/1.jpg"},{id:2,name:"逃学威龙",imgUrl:"http://xxx.douban.com/2.jpg"},{id:3,name:"逃学威龙",imgUrl:"http://xxx.douban.com/1.jpg"}]
        movies=movies.map(item=>{
            item.imgUrl=item.imgUrl.replace("xxx","www")
            return item
        })
        console.log(movies)

二、filter方法:过滤出数组中符合要求的元素,返回一个新数组

案例:拿到当前及格的人的数组

     let scores=[80,59,10,55,90,88]
		scores=scores.filter(item=>{			
				 if(item>=60){
					 return scores
				 }
		})
		console.log(scores)
//         let arr=scores.filter(item=>item>=60)//简写,这里如果想重新定义就必须要换名字,不能再使用scores
//         console.log(arr)

三、some方法:在数组的判断过程中,判断整体的每一个元素是否全部都符合一项基本要求,只要有一个符合就返回,true  

let scores=[80,49,12,50,69]
        let result=scores.some(item=>item>=60)
        console.log(result)//true

四、every方法: 在数组的判断过程中,判断整体的每一个元素是否全部都符合一项基本要求, 只要其中有一个不符合要求,就返回false 

 let scores=[80,49,12,50,69]
        let result=scores.every(item=>item>=60)
        console.log(result)//flase

 五、reduce:将数组中的元素整合,返回一个新的内容

用法:arr.reduce((prev,item,index,array)

prev:上一次操作返回的结果 ,可以设置默认值,如果不设置默认值,那么第一个元素就作为第一个prev
item: 本次操作的元素
index:本次操作元素的索引值
array:当前操作的数组

案例一:使用reduce拼接字符串

 let arr=["百度","腾讯","阿里","字节"]
        let result=arr.reduce((prev,item)=>{
             console.log(prev)
             return prev+"<li>"+item+"</li>"
        },"")
        console.log(result)

这里就必须设置默认值,如果并设置第一个元素就不会加上li标签 

案例二:利用reduce实现数组去重

 let arr=["百度","腾讯","阿里","字节","阿里","腾讯","百度"]
        //利用reduce实现数组去重
        let result=arr.reduce((prev,item)=>{
            //includes判断是有具有指定元素 有t 没有f
            if(!prev.includes(item)){
                prev.push(item)
            }
            return prev
        },[])
        console.log(result)

案例三:统计字符的出现次数 

 

 let arr=["a","b","a","c"]
        //返回一个对象 统计每一个字符的出现次数 {a:2,w:3}
        let result=arr.reduce((prev,item)=>{
             if(item in prev){
                 //找到对应属性值 ++
                 prev[item]++
             }else{
                 prev[item]=1
             }
             return prev
        },{})
        console.log(result)


//这里中括号的解释
        let obj={
            a:"hello world"
        }
        var x="a"
        console.log(obj.x)//undefined
        console.log(obj[x])//hello world

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值