Es6新增数组方法

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

           

             let prizes=[49,199,29,59]
            // //改变成一个字符数组,在其后方 添加 ...元
             let x=prizes.map(item=>item+"元")
             console.log(x)
            //数据相关操作:  豆瓣电影  访问豆瓣公开API
            let movies=[{id:1,name:"大话西游",author:"xxxx",imgUrl:"http://xxx.douban.com/1.jpg"},{id:2,name:"逃学威龙",author:"xxxx",imgUrl:"http://xxx.douban.com/2.jpg"},{id:3,name:"喜剧之王",author:"xxxx",imgUrl:"http://xxx.douban.com/3.jpg"}]

            movies=movies.map(item=>{
                item.imgUrl=item.imgUrl.replace("xxx","www")
                return item
            })
            console.log(movies)

2.数组新增方法filter过滤:筛选数组中的内容,找出其中符合条件的元素,返回一个新数组

           

let scores=[49,79,44,99,50]
            //使用filter方法过滤出 符合要求的元素
            let arr=scores.filter(item=>item>=60)
                //filter中 返回true,会自动返回对应元素
                 return item>=60
            // })
             console.log(arr)

            搜索类的功能 都是由接口实现 ,数据量太大,

            filter只能用于数据量较小的内容,  地址搜索  没有数据库的项目

            在数组整体数据的判断过程中,判断整体中的每一个元素,是否都符合要求,或者是否都不符合要求

           

      3.some和every

            some:是要有一个符合要求 整体都为真

            every:全体为真才为真           

             let scores=[85,55,98,75,56]
            // let result=scores.every(item=>item>=60)
             let result=scores.some(item=>item<=60)
             console.log(result)
             let users=["王一","王二","王三","王四"]
             let username=prompt("请输入新的用户名")
             //如果已经存在users中,提示 用户名存在,不存在直接插入到users
             let result=users.some(item=>item==username)
             if(result){
                 alert("用户名已经存在")
             }else{
                 users.push(username)
             }

  4.reduce:将数组中的元素进行整合,返回一个新的内容

            数组求和           

                

             let arr=[40,50,70,69,80]
             //prev:上一次操作的返回结果,如果没有设置默认参数,那么第一个数组元素,作为第二个数组元素的prev
             //item:当前进入元素
             //index:进入元素的索引值
             //array:当前操作的数组
             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)

 

            数组的去重         

             let arr=["百度","腾讯","阿里","京东","百度","腾讯","京东"]
             //reduce实现数组中的去重,返回一个新的没有重复的数组
             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:4,v:3,w:2}
            let result=arr.reduce((prev,item)=>{
                if(item in prev){
                    //对于对象 属性是变量[]
                    prev[item]++
                }else{
                    prev[item]=1
                }
                return prev
            },{})
            console.log(result)
            // var obj={
            //     a:1,
            //     b:2
            // }
            // var x="c"
            // obj[x]=1
            //  console.log(obj[x])

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值