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:前端開發 }