es6里面,关于arr的遍历以及查找,新增了不少的方法,对于不一样的应用场景,运用合适的方法,能够达到事半功倍的效果;javascript
一, arr.find();用于查找到符合条件的第一个成员,若是没有查找到的话,则返回undefined;css
var arr = [1,2,3,-4,-2,9]; arr.find(item => item < 0) ; ---- -4 arr.find(item => item > 10); -----undefined
二, arr.findIndex();用于查找符合某个条件的第一个成员的下标,若是没有查找到的话,则返回-1,功能和indexOf相似;java
var arr = [1,2,7,5,3]; arr.findIndex(item => item >4); ----2 arr.findIndex(item => item < 0); ----- -1
三,arr.includes(); 表示数组是否包含给定的值,返回值为布尔值,可是后面不能接函数es6
var arr = [1,2,3,4,5]; arr.includes(2) ---- true arr.includes(10) ---- false
四,arr.some();数组中的元素有一个值符合条件,就会返回true,不然的话则返回falseweb
var arr = [1,2,3,4,5]; arr.some(item => item < 3); ---- true arr.some(item => item > 6); -----false
(注:arr.some和arr.inclues的方法相似,返回的都是布尔值,判断数组的项是否符合条件;可是两者仍是有细微的区别,includes通常用于表示具体的值,some后面能够接函数)数组
五,arr.every();用于检测数组中的全部元素是否符合条件,若是有一个不知足就返回false,当全部都知足的时候则返回true函数
var arr = [1,2,3,4,5,6]; arr.every(item => item > 3) ---- false arr.every(item => item < 7) -----true
六,arr.filter();返回知足条件的新数组;blog
var arr = [1,2,3,4,5]; arr.filter(item => item > 2); ---- [3,4,5]
七, arr.map(); 能够用于数组的循环,返回一个操做一些列条件的新数组,而且必需要有return返回值ip
var arr = [{name: 'js', age: 18}, {name: 'web', age: 20}, {name: 'css', age: 30}]; arr.map(item => item.name); ------ ['js', 'web', 'css'];