数组的类
  数组的类是Array
数组的定义
  var arr=[元素]
  var arr=new Array(3) 数字3,代表有三个元素或者三个空位
  如果数组定义采用 new 实例,类中跟的是一个数字 n ,代表有 n 个元素
  var arr=new Array("6") 有一个元素,并且这个元素是6
数组的方法
of 方法
  1. Array 类上的方法
  2. var arr=Array.of(4);console.log(arr); //4 返回一个元素为4的数组
 
 
foreach 方法
  1. 原型上的一个方法,用于对数组遍历,返回值是undefined
  2. var arr = ["xiaopang", "xiaohe", "xiaoxin"];
  arr.forEach((item,index)=>{
    console.log(index)
  })
  3. foreach 没有返回值
 
 map 方法
  1. 遍历数组(原型上的一个方法,返回值是一个数组,所以必须加 return 返回值),将数组一一映射成一个新的数组,内部一定要使用return
  2. var arr = ["xiaopang", "xiaohe", "xiaoxin"];
  var as=arr.map((item,index)=>{
  return item+"123"
  })
  console.log(as)
 
filter 方法
  1. 过滤 从数组中找出所有符合条件的元素,并返回一个新的数组,不改变原有数组
  2. return true 就保留原来的数组,return false 就不保留
  3. 当return 的条件成立就是 true ,不成立就是 false
  4. var arr=[
  {"name":"xiaopang","age":10},
  {"name":"xiaohe","age":20},
  {"name":"xiaoxin","age":25},
  {"name":"pangpang","age":13}
  ]
  var as=arr.filter((item,index)=>{
    return item.age>13
  })
  console.log(as)
  5. var as=arr.filter((item,index)=>{
    return item.age>13
  })
  console.log(as)
  数组里有符合条件的,所以是 true ,所以返回符合条件的新数组
 
find 方法
  1. 对数组逐个查找,当返回值为 true 说明查找到,直接返回结果,不再往下查找了
  2. var as=arr.find((item,index)=>{
    return item.age>13
  })
  console.log(as)
 
every 方法
  1. 看数组中的每个元素是否都满足条件,都满足条件返回的是 true,如果有一个不满足,返回值就是 false
  2. var arr=[
  {"name":"xiaopang","age":10},
  {"name":"xiaohe","age":20},
  {"name":"xiaoxin","age":25},
  {"name":"pangpang","age":13}
  ]
  var as=arr.every((item,index)=>{
  return item.age<=13
  })
  console.log(as)
 
some 方法
  1. 看数组中的元素,是否有满足条件的,有就true ,没有 就是false
  2. var arr=[
  {"name":"xiaopang","age":10},
  {"name":"xiaohe","age":20},
  {"name":"xiaoxin","age":25},
  {"name":"pangpang","age":13}
  ]
  var as=arr.some((item,index)=>{
  return item.age<=13
  })
  console.log(as)
 
reduce 方法
  1. 迭代执行
  2. var arr=[1,2,3,4,5,6,7,8,9,10];
  var as=arr.reduce((prev,item)=>{
  // prev 航一次返回值
  // item 数组的元素,从第二个开始
  console.log(prev);
    return prev+item;
  })
  console.log(as) //55
  3. 注意: 1.从第二个元素开始执行,因为第一个元素没有上一个
  2.第一次执行的返回的是第一个元素 reduce() 的参数是一个回调函数,回调函数中可以放三个参数,第一个 prev 代表上一次执行后的返回值,第二个 item 当前元素,第三个 index 索引值
  3. 如果想让 reduce 从第一个元素开始执行 (默认为第二个),可以在回调函数之后加一个参数,就可以让初始有个默认值
 
面试题
将一个数组转换成对象,属性是数组的元素,属性值是元素的个数
    解答;
      var arr=["item","tom",,"jack","item","jack"];
      var as=arr.reduce((prev,item)=>{
        if(item in prev){
          prev[item]++
        }
        else{
          prev[item]=1;
        }
        return prev
      },{})
      console.log(as);

ES6 数组的方法的更多相关文章

  1. JavaScript ES6 数组新方法 学习随笔

    JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...

  2. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

  3. es6数组的方法

    1.复习的函数 函数是由关键字function声明的,他是一个引用数据类型,是Function的实例,在调用的时候会开辟一个私有空间 2.函数的成员 arguments:null  (是实参构成的数组 ...

  4. ES6数组去重方法

    Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员),操作方法有:add(value).delete(value).has(value).clear():遍历方法有:keys ...

  5. es6 数组扩展方法

    1.扩展运算符 含义: 扩展运算符,三个点(...),将一个数组转为用逗号分隔的参数顺序. 例如: console.log([1,2,3]); console.log(...[1,2,3]);   结 ...

  6. es6数组新方法

    (1)Array.from(aarr,fn,obj) function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) v ...

  7. es6 数组新增方法

    1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = {      "0":"TangSir&quo ...

  8. ES6数组新增方法总结

    关于数组中forEach() .map().filter().reduce().some().every()的总结 let arr = [1, 2, 3, 4, 5] // forEach遍历数组 a ...

  9. ES6 数组去重 方法用了filter或者 indexOf Array.from

随机推荐

  1. 服务治理演进剖析 & Service Mesh、 xDS核心原理梳理

    基于XDS协议实现控制面板与数据面板通信分享 基于这段时间在同程艺龙基础架构部的蹲坑,聊一聊微服务治理的核心难点.历史演进.最新动态, 以上内容属自我思考,不代表同程艺龙技术水准.如理解有偏差.理解不 ...

  2. opencv——形态学深究(分析和应用)

    摘要: 形态学一般指生物学中研究动物和植物结构的一个分支.用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具. 基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对 ...

  3. 2.HTML案例二 头条页面

    4 HTML案例-头条页面 4.1 案例效果 4.2 案例分析 4.2.1 div布局的进阶 想要将div布局成案例效果,首先需要对多个div进行区分,再分别设置每一个div自身的效果. 1)div的 ...

  4. centos7下cups + samba共打印服务

    centos7下cups + samba共打印服务 2015年8月21日admin发表评论阅读评论   这个算是rhce课程的篇外篇,Samba除了提供文件共享外,也可以像windows下的共享一样提 ...

  5. XRDP freerdp

    服务器上 freerdp 桌面上有XRDP

  6. STM32用FreeRTOS时任务优先级和中断优先级说明

    下面对 FreeRTOS 优先级相关的几个重要知识点进行下说明,这些知识点在以后的使用中务必要掌握牢固. FreeRTOS 中任务的最高优先级是通过 FreeRTOSConfig.h 文件中的 co ...

  7. MyBatis 动态 SQL 语句中出现 '<' 的问题

    问题描述 映射接口方法如下: /** * 根据姓名和年龄查询用户信息 * @param name 姓名 * @param user 获取年龄 * @return */ public List<U ...

  8. 2.1PyCharm 的初始设置

    PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...

  9. 关于typedef的用法总结-(转自Bigcoder)

    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...

  10. Centos7 vsftpd虚拟用户权限控制(vsftpd虚拟用户限制IP访问)

    实验目标:(新增限制虚拟机用户登陆的IP) 实现在同一跟目录下对admin,upload,download三个虚拟用户的不同权限的控制.具体权限控制列表如下: 用户名 权限说明 admin 管理员,可 ...