方法find,findeIndex,map,filfter,reduce,some,every总结

1:find方法

作用:根据条件找到首次符合这个条件的值, 
回调参数:1,key值 2,index值 
返回值:返回符合条件的值,只有一个,都不符合条件,返回undefined

// 代码示例
let arr = [10,2,1,2,3,4,5,6,6,7,8];
let arrValue = arr.find(item => item < 0);// 返回值为undefined
let arrValue1 = arr.find(item => item > 0);// 返回值为10

  

 

2:findIndex方法

作用:根据条件找到首次符合这个条件的值的下标, 
回调参数:1,key值 2,index值 
返回值:返回符合条件的值,只有一个,都不符合条件,返回undefined

// 代码示例
let arr = [10,2,1,2,3,4,5,6,6,7,8];
let index = arr.findIndex(item => item < 0);// 返回值为-1;
let index1 = arr.findIndex(item => item > 0);// 返回值为0;

  

 

3:map方法

作用:遍历数组,返回一个新数组, 
回调参数:1,key值 2,index值 不影响原数组 
返回值:是一个新的数组,数组的每一项,回调函数的返回值

// 代码示例
let arr = [1,2,3];
let newArr = arr.map(function (item){
    return item + 1;    
}); // 返回新数组为[2,3,4];

  

 

4:filter方法

作用:通过条件筛选并返回复合条件的职, 
回调参数:1,key值 2,index值 不影响原数组 
返回值:返回值是一个新数组,回调函数返回值为true,就把循环的这一项放在新数组中,如果为fasle,就忽略。

let arr = [1,2,3,43,4,5,6,7,8];
let newArr = arr.filter(function (item){
    return item < 5 // 过滤的条件
});
// 返回新数组为 [1,2,3,4]

  

 

5:reduce方法

作用:计算数组中所有的key计算结果, 
回调参数:1. 没有初始值,是数组的第一项,2. 没有初始值,是数组的第二项 
运行过程 
没有初始值, 
第一调用回调函数,接收的是数组的第一项和第二项。 
第二次调用回调函数,接收的第一个参数是调用上一个回调函数(第一个)的返回值,第二参数是数组的第三项; 
第三次调用函数,接收的第一个参数是调用上一个回调函数(第二次)的返回值,第二参数是数组的第四项。。。。。 
有初始值 
第一次调用回调函数,回调函数的第一参数是传入的初始值,第二分参数是数组的第一项 
第二次调用回调函数,接收的第一个参数是调用上一个回调函数(第一个)的返回值,第二参数是数组的第三项; 
第三次调用函数,接收的第一个参数是调用上一个回调函数(第二次)的返回值,第二参数是数组的第四项

//示例代码
let arr = [1,2,3,4,5];
    // 数组中每一项相加得出一个总和
    // 没有初始值
    arr.reduce(function (item1,item2){
    return item1+item2
});//返回值为数组中所有的值相加之和,55

// 初始值是100
arr.reduce(function (item1,item2){
    return item1+item2
},100);//返回值为初始值数组中所有的值相加之和,155

  

 

6:some&every方法

some作用:给定一个条件,只要数组中有一项满足条件,就返回true,都不满足,返回false
every作用:给定一个条件,数组必须全部满足条件,就返回true,有一个都不满足,返回false 
回调参数:1,key值 2,index值

//示例代码
let arr = [1,2,3,4,5,56,7];

// 只要数组中有一个大于5就为true

let bl = arr.some(function (item){
    return item > 5
})// 返回值为true
// 数组中所有的值大于0就为true
let bl = arr.every(function (item){
    return item > 0
})// 返回值为true

  

posted @ 2017-12-12 09:16  菜鸟传奇  阅读(849)  评论(1编辑  收藏  举报