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);// 返回值为undefinedlet 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// 初始值是100arr.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就为truelet bl = arr.some(function (item){ return item > 5})// 返回值为true// 数组中所有的值大于0就为truelet bl = arr.every(function (item){ return item > 0})// 返回值为true