js中的数组遍历是项目中常常用到的,在这里将几种方法作个对比。前端
let arr = ['a','b','c','d','e']; for (let i = 0, len = arr.length; i < len; i++) { console.log(i); // 0 1 2 3 4 console.log(arr[i]); //a b c d e }
let arr = ['a','b','c','d','e']; arr.forEach((item,index,arr)=> { console.log(item); // a b c d e console.log(index); // 0 1 2 3 4 console.log(arr); // ['a','b','c','d','e'] })
var arr = [ {name:'a',age:'18'}, {name:'b',age:'19'}, {name:'c',age:'20'} ]; arr.map(function(item,index) { if(item.name == 'b') { console.log(index) // 1 } })
let obj = { name: '王大锤', age: '18', weight: '70kg' } for(var key in obj) { console.log(key); // name age weight console.log(obj[key]); // 王大锤 18 70kg } let arr = ['a','b','c','d','e']; for(var key in arr) { console.log(key); // 0 1 2 3 4 返回数组索引 console.log(arr[key]) // a b c d e }
for...of提供了三个新方法:json
let arr = ['科大讯飞', '政法BG', '前端开发']; for (let item of arr) { console.log(item); // 科大讯飞 政法BG 前端开发 } // 输出数组索引 for (let item of arr.keys()) { console.log(item); // 0 1 2 } // 输出内容和索引 for (let [item, val] of arr.entries()) { console.log(item + ':' + val); // 0:科大讯飞 1:政法BG 2:前端开发 }