JavaScript 数组遍历方法的对比
JavaScript 发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行起来那个比较快,不同循环方法使用在那些场景,下面将进行比较:
各种数组遍历的方法
循环索引 index: for | for-in 语句 |¶
循环值 value : forEach | for-of 语句 | map 方法¶
for 语句¶
代码:
var arr = [1, 2, 4, 6]; for (var i = 0, len = arr.length; i < len; i++) { console.log(arr[i]); }
forEach 语句¶
var arr = [1, 5, 8, 9]; arr.forEach(function(item) { console.log(item); }); // es6 var arr = [1, 5, 8, 9]; arr.forEach(item => { console.log(item); });
for-in 语句¶
var obj = { name: "test", color: "red", day: "sunday", number: 5 }; for (var key in obj) { console.log(obj[key]); }
for-of 语句¶
var arr = [{ name: "bb" }, 5, "test"]; for (item of arr) { console.log(item); }
for-of 和 for-in 的区别 for-in 语句以原始插入顺序迭代对象的可枚举属性。for-in 会把继承链的对象属性都会遍历一遍,所以会更花时间.
for-of 语句只遍历可迭代对象的数据。
map 方法¶
var arr = [1, 2, 3]; var firearr = arr.map(current => current * 5); // arr.map(element => { log("map------------" + element); });
参考¶
JavaScript 里的循环方法:forEach,for-in,for-of – WEB 骇客 JavaScript 数组循环的几种写法,包含 ES6-前端开发博客