var a = [1, 2, 3]; // for循环
for(var i = 0; i < a.length; i++) {
console.log(a[i]);
} // while循环
var i = 0;
while (i < a.length) {
console.log(a[i]);
i++;
}
ES6提供三个新的方法——entries()
,keys()
和values()
——用于遍历数组。它们都返回一个遍历器对象(详见《Iterator》一章),可以用for...of
循环进行遍历,唯一的区别是keys()
是对键名的遍历、values()
是对键值的遍历,entries()
是对键值对的遍历。
for (let index of ['a', 'b'].keys()) {
console.log(index);
}
//
// for (let elem of ['a', 'b'].values()) {
console.log(elem);
}
// 'a'
// 'b' for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);
}
// 0 "a"
// 1 "b"
for ...in 遍历
var a = [1, 2, 3]; for (var i in a) {
console.log(a[i]);
}
for...in
不仅会遍历数组所有的数字键,还会遍历非数字键。
var a = [1, 2, 3];
a.foo = true; for (var key in a) {
console.log(key);
}
//
//
//
// foo
foreach 遍历,当需要遍历数组并对每个元素进行处理时
var colors = ['red', 'green', 'blue'];
colors.forEach(function (color) {
console.log(color);
});
map 遍历,与foreach的不同点是map可以return
[1,2,3].map(function (x) {
return x * x;
});
参考链接:http://javascript.ruanyifeng.com/grammar/array.html