1.forEach
语法:数组.forEach(function(item,index,origin){});
作用:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
返回值:无返回值,强制设置遍历存储返回值,输出结果为undefined(即便在函数设置return也一样);
注意:item为数组中的每一个数据单元内容,index为每一个数据单元内容所对应的索引下标;
2.map
语法:数组.map(function(item,index,origin){});
参数:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
作用:映射数组
返回值:返回一个和原数组长度一样的数组,其返回的值取决于参数的return 比如为return item*20;
注意:常设置一个变量存储映射后的数组内容;
3.filter(过滤,也常用于数组去重)
语法:数组.filter(function(item,index,origin){});
参数:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
作用:过滤/去重数组,去重条件须为原数组中有重复数据单元需配合indexOf,过滤条件为数组中有满足return条件的数值,如:return item > 5;
返回值:过滤/去重后的数组;
4.find(查找值)
语法:数组.find(function(item,index,origin){});
参数:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
作用:在数组内部查找数据;
返回值:返回符合筛选条件的第一个数据;
5.findIndex(查找索引下标)
语法:数组.findIndex(function(item,index,origin){});
参数:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
作用:在数组内部查找数据一次出现的索引下标;
返回值:返回符合筛选条件的第一个数据的索引下标;
6.every
语法:数组.every(function(item,index,origin){});
参数:
参数1为实际第一项的值;
参数2第一项所对应的索引下标;
参数3为原数组内容;
作用:判断数组内的数据是否全部满足条件,需要借用return 条件表达式;
返回值:返回一个布尔值,如果值为true,表示数据全部符合条件,如果值为false,则至少有一个数据不符合条件;注意:如果什么都不做,直接console.log(item,index,origin)只返回第一个值;
7.some
语法:数组.some(function(item,index,origin){});
参数:
参数1为实际每一项的值;
参数2每一项所对应的索引下标;
参数3为原数组内容;
作用:判断数组是否存在一项满足条件的数据?需要借用return 条件表达式;
返回值:返回一个布尔值,如果值为true,表示存在至少一项数据符合条件,如果值为false,则全部数据不符合条件;
8.reduce(用于累加器)
语法:数组.reduce(function(prve,item,index,origin){},init(初始值));
reduce方法的参数:
1.如果传递第二个参数init(即设置一个初始值)那么执行的次数和数组长度相同;
2.如果不传递第二个参数init,默认以数组中的第一各值为初始值,并且执行次数在数组长度上为length-1;
参数1的函数中4个形参的含义:
1.表示初始值或者数组第一项的值(具体须看是否传递初始值init)
2.数组中每一项实际的值;
3.数组每一项实际的值所对应的索引下标
4.原数组内容
作用:累加(叠加数组内容);
返回值:返回循环运行结束后得到的值; 总结:有设置初始值,叠加时计算数组数据+初始值;无初始值,以数组首位作为默认值叠加,但整体输出次数为length-1;