数组遍历方法-1

141 阅读3分钟

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;