数组中的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

原文地址:https://www.cnblogs.com/chenzhiyu/p/8693448.html