es6删除数组某一项_ES6 数组的map、filter、find、findIndex、every、some方法讲解

c639e3aa158217be459dda2c15f2fc24.png

在前端开发中,ES6的使用越来越广泛。现在老K为大家总结一下ES6中数组的新方法。

map方法:

可以简单的理解为映射

var arr = [1,2,3,4]console.log( arr.map((n)=>n*n) ); //[1,4,9,16]console.log( arr.map((n)=>n-1) );//[0,1,2,3]

filter方法:

var users = [{name:'张三', email:'zhang@email.com'},{name:'李四', email:'li@email.com'},{name:'王五',email:'wang@email.com'}];//获取所有人的emailvar emails = users.map( item => item.email )console.log(emails.join(',')) //"zhang@email.com","li@email.com","wang@email.com"//获取指定人的emailvar wangEmail = emails.filter(email => /^wang/.test(email))console.log(wangEmail.join('')) //"wang@email.com"

获取用户列表里的所有用户的email,可以用map方法。map方法通过传一个参数,这个参数就代表users里的每一项,map内部通过遍历所有的用户项,获取到每个用户项的email,再push到一个数组,再作为值给我们返回。第二步,我们需要获取指定人的email,filter方法登场了,通过过滤筛选数组emails,给我们返回结果,筛选方法得我们定,这里筛选方法是以正则匹配到wang开头的那一个email,然后返回。

find方法:

[1, 4, -1, 10].find(n => n < 0) // -1

find方法比较好理解,这里的参数n代表数组里的每一项,然后find方法内部通过遍历数组里的每一项,找到<0的这一项( -1 )。

findIndex方法:

findIndex方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。看一个例子:

[1, 3, -5, 11].findIndex((value,index,arr) => value < 0) //2

在这个例子当中,value代表这个数组的每一项,1,3,-5,11。index代表每一项的索引值,arr代表这个数组[1, 3, -5, 11],然后我们需要返回的是<0的这一项的索引值,即是2了。

这4个方法内部机制都有一个遍历过程,比起forEach确实简洁多了。

every方法:

let numbers = [2, 4, 10, 4, 8];let a = numbers.every( (item,index) => { if(item%2 === 0){  return true }else{  return false  }} )console.log(a) //true

every()方法必须所有都返回true才会返回true,哪怕有一个false,就会返回false。

some方法:

let numbers = [2, 4, 10, 4, 9];let b=numbers.some((item,index) => { if(item%3 === 0){  return true  }else{  return false  }})console.log(b) //true

some方法 只要其中一个为true 就会返回true的。

every()和 some()目的:确定数组的所有成员是否满足指定的条件。


本文为原创内容,若转载请注明出处,转发感激不尽。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值