ES6 数组的方法

数组的类

  数组的类是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);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值