es6里面,关于arr的遍历以及查找,新增了很多的方法,对于不同的应用场景,运用合适的方法,可以达到事半功倍的效果;

一, arr.find();用于查找到符合条件的第一个成员,如果没有查找到的话,则返回undefined;

var arr = [1,2,3,-4,-2,9];
arr.find(item => item < 0) ;   ---- -4
arr.find(item => item > 10);  -----undefined

二, arr.findIndex();用于查找符合某个条件的第一个成员的下标,如果没有查找到的话,则返回-1,功能和indexOf类似;

var arr = [1,2,7,5,3];
arr.findIndex(item => item >4);   ----2
arr.findIndex(item => item < 0); ----- -1

三,arr.includes(); 表示数组是否包含给定的值,返回值为布尔值,但是后面不能接函数

var arr = [1,2,3,4,5];
arr.includes(2)     ---- true
arr.includes(10)   ---- false

四,arr.some();数组中的元素有一个值符合条件,就会返回true,否则的话则返回false

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();返回满足条件的新数组;

var arr = [1,2,3,4,5];
arr.filter(item => item > 2);    ----  [3,4,5]

七, arr.map(); 可以用于数组的循环,返回一个操作一些列条件的新数组,并且必须要有return返回值

var arr = [{name: 'js', age: 18}, {name: 'web', age: 20}, {name: 'css', age: 30}];
arr.map(item => item.name);    ------ ['js', 'web', 'css'];