1. 首页
  2. 工具软件

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 数组遍历方法的对比 – 掘金

JavaScript 里的循环方法:forEach,for-in,for-of – WEB 骇客 JavaScript 数组循环的几种写法,包含 ES6-前端开发博客

发表评论

邮箱地址不会被公开。