ES6 数组新增方法

ES6 数组新增方法目录ES6数组新增方法1、.map2、some和every方法3、filter4、数组新增的reduce方法ES6数组新增方法1、.map.map()给数组中的每一个元素添加特殊处理,返回新的数组实现给定数组添加元letprices=[20,30,40]//20元30元40元letarr=prices.map(item=>item+”元”)给给定数据替换某内容letmovies=[{id:1,name:’逃学…

大家好,又见面了,我是你们的朋友全栈君。

目录

ES6 数组新增方法

1、  .map

2、some和every 方法

3、filter

4、数组新增的reduce方法


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账号...

(0)


相关推荐

  • springboot跨域携带cookie

    springboot跨域携带cookie解决springboot跨域问题importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.cors.CorsConfiguration;importorg.springframework.web.cors.UrlBasedCorsConfigurationSource;.

  • sublime text激活码(JetBrains全家桶)[通俗易懂]

    (sublime text激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1S…

  • sql 未明确定义列_查询块具有不正确的结果列数

    sql 未明确定义列_查询块具有不正确的结果列数ORA-00918:未明确定义列:你在做多表查询的时候出现了字段重复的情况,因为你有时候会对字段进行重新命名,表A的A1字段与表B的B1字段同时命名成了C,这时候就会出现未明确定义列,假设A表中有一个字段名叫:A_B_C,实体类就会有个叫ABC的字段,sql你写成:SELECT*FROM(SELECTDISTINCTA.,B.B1ASABC这样写是没有问题的,但是:SELECT*FROM(SELECTDISTINCTA.,B.B1ASA_B_C就有问题了;

  • Android studio学习笔记:adb被系统空闲进程占用了怎么办?

    Android studio学习笔记:adb被系统空闲进程占用了怎么办?在准备run的时候,adbserver报错:UnabletoopenconnectiontoADBserver:java.io.IOException:Can’tfindadbserveronport5037,IPv4attempt:Connectionrefused:connect,IPv6attempt:Connectionrefused:connect发现端口号5037被占用了,看网上的教程都是被一般进程给占用了,可以直接taskkill掉,空出端口

    2022年10月20日
  • xshell连接不上虚拟机的问题和解决办法_vmware远程连接服务器虚拟机

    xshell连接不上虚拟机的问题和解决办法_vmware远程连接服务器虚拟机首先按照正常步骤安装虚拟机,centos6.5文件,然后登陆Linux输入命令:vi/etc/sysconfig/network-scripts/ifcfg-eth0键入i进行编辑大致如下DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=dhcpIPADDR=192.168.175.102NETMASK=255.255.255…

  • 【全网独家】手把手教你制作一个Ubuntu Deb 安装包「建议收藏」

    Ubuntu Deb 安装包加班到9点多了,今天本来准备整理一下Linux常用命令,没有时间了。目前还没有回家。就发一篇昨天整理的一个deb打包的教程,网上搜了很多,都是讲解命令的,没有一个比较完整的教程。如果你公司用到了deb打包,可以仔细阅读一下,如果你没有接触过deb打包,那可以简单了解一下,毕竟技多不压身。本文主要参考博文:Debconf程序员的教程 :http://www.fif…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号