示例中的数组为:
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