数组中的filter,every,some,find,findIndex
这些都是es5中数组新增的方法,一旦用到还是觉得挺实用的
var arr = [0,12,4,6,8]; var res = arr.filter(function(item,index,Arr){ return item < 8; }); console.log(res); //[0, 4, 6]
filter顾名思义,就是过滤的意思,过滤掉不想要的,得到想要的
var arr = [0,12,4,6,8]; var res = arr.every(function(item){ console.log(item); //0 12 return item < 10; }); console.log(res); //false
every表示所有的子项都满足某个条件时返回true,只要有一个不满足,就返回false,并终止遍历
var arr = [0,12,4,6,8]; var res = arr.some(function(item){ console.log(item); //0 return item < 10; }); console.log(res); //true
some表示只要有一个子项满足条件就返回true,并终止遍历,否则返回false
var arr = [0,12,4,6,8]; var res = arr.find(function(item){ console.log(item); //0 return item < 10; }); console.log(res); //0
find表示找到符合条件的,并返回符合条件的值,否则返回undefined
var arr = [0,12,4,6,8]; var res = arr.findIndex(function(item){ console.log(item); //0 return item < 10; }); console.log(res); //0
findIndex表示找到符合条件的,并返回其索引,否则返回-1