ES5遍历数组
forEach
myArray.forEach(function (value) {
console.log(value);
});
缺点
不能使用break语句中断循环,也不能用return语句返回外层函数
for-in循环
for (var i in arr) {
console.log(arr[i]);
}
缺点
- 赋值给i的值不是number类型是字符串,
- 在某些情况下,这段代码可能按照随机顺序遍历数组元素。
ES6 for-of
for (var i of arr){
console.log(i);
}
优点
- 最简洁、最直接的遍历数组元素的语法
- 避开了for-in的缺陷
- 可以正确响应break、continue和return语句
- 可以遍历其他集合,支持大多数类数组对象,支持字符串遍历,将字符串是为一系列Unicode字符遍历
for(var char of 'hello'){
console.log(char)
}
- 支持Map和Set对象遍历
缺点
- 不支持普通对象,但如果你想迭代一个对象的属性,你可以用for-in循环(这也是它的本职工作)或内建的Object.keys()方法:
for (var key of Object.keys(someObject)) {
console.log(key + ": " + someObject[key]);
}
网友评论