irpas技术客

JS中数组遍历方法_zw_wen

大大的周 6589

示例中的数组为:

var arr = [ { id: 1, name: '王昭君' }, { id: 2, name: '安琪拉' }, { id: 3, name: '鲁班七号' }, ]; var nums = [1, 2, 3, 4, 5]; 1. 普通for循环; for (let i = 0; i < arr.length; i++) { console.log(arr[i], i); } 2,forEach循环; arr.forEach((ele, index) => { console.log(ele, index); }); 3、for...in,(主要是用来遍历对象,不建议遍历数组)

for...in遍历对象;key为对象的键名;

?4. map()遍历,返回一个新数组; let arr2 = arr.map((ele, index) => { let job = { 1: '法师', 2: '法师', 3: '射手', }; // 给每个数组元素添加一个job字段; return { ...ele, job: job[ele.id], }; });

5. for...of遍历;

6. reduce()遍历,从左到右对数组元素进行遍历;

?用法:reduce(callback(accumulator,currentValue,index,array), initialValue);

可参考MDN文档:Array.prototype.reduce() - JavaScript | MDN

参数说明:

?用途1:数字数组求和;对象数组按某个字段求和;

注意:初始值initialValue为空时,prev默认是数组第一个元素,currentValue从数组第二个元素开,index从索引1开始;

????初始值initivalValue不为空时;prev默认是数组的初始值, currentValue从数组第一个元素开始,index从索引0开始;

用途2:返回对象数组某个字段的集合;

reduceRight(callback(accumulator,currentValue,index,array),initivalValue) ;从右到左对数组进行遍历;

注意: 1)如果initivalValue的初始值为空时,则accumulator默认是数组最后一个元素,则数组不能为空,否则会报错;currentValue从数组倒数第二个元素开始,index从array.length-2开始

?2)如果initivalValue的初始值不为空,则accumulator默认是初始值,currentValue从数组最后一个元素开始,index从array.length-1开始;

7.??some();返回一个boolean值,判断数组中是否存在一个元素通过被提供的函数测试;

8. every();返回一个boolean值,判断数组中的元素是否全部通过被提供函数的测试;

9.? find();返回符合条件的第一个数组元素,如果没有找到则返回undefined;

?

10.??findIndex();返回符合条件的第一个数组元素下标,如果没有找到则返回-1

11. filter(),返回所有符合条件的元素数组;如果没有找到符合条件的元素则返回空数组;


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #JS中数组遍历方法 #示例中的数组为var #arr #ID