数组新增 reduce 方法

   reduce与filter对比?

        filter map依次拿出数组中的内容  1对1 .
        reduce 多对一 只返回一个结果.

reduce 参数 计算处理 返回一个结果.

        let x1=arr.reduce((prev,item,index,array)=>{})
        第一个参数 prev 上一次操作返回的结果.
        第二个参数 item 当前要处理的元素.
        第三个参数:index 当前处理元素的索引值.
        第四个参数:arry 当前的这个数组.


        默认状态下,第一次的返回结果就是 第一个元素,结果等于最后一次的返回结果.

例:

        1. 数组的拼接(求和)

①    let arr=[1,2,3,4]        

        let result=arr.reduce((prev,item)=>{
             return prev+item
         })
         console.log(result)

②     let arr=["百度","腾讯","阿里","京东"] 

        let result=arr.reduce((prev,item)=>{
              console.log(prev)
             return prev+"<li>"+item+"</li>"
         },"")
         console.log(result)

③   数组去重?  拿到一个新的无重复的数组

        let arr=["百度","腾讯","阿里","百度","腾讯","阿里","百度","腾讯","阿里"]

        let result=arr.reduce((prev,item)=>{
             if(!prev.includes(item)){      //includes 是否包含指定元素 有T 无F
                 prev.push(item)
             }
             return prev
         },[])
         console.log(result)

④  数组中元素出现的次数?

        let arr=["a","v","c","a","v","q","w","c","a"]

        let result=arr.reduce((prev,item)=>{
                if(item in prev){
                    prev[item]++
                }else{
                    prev[item]=1
                }
                return prev
        },{})
        console.log(result)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值