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'];