遍历

遍历数组

最初

for (var index = 0; index < myArray.length; index++) {
console.log(myArray[index]);
}

ES5发布后

myArray.forEach(function (value) {
console.log(value);
});

这种方法也有一个小缺陷:你不能使用break语句中断循环,也不能使用return语句返回到外层函数。

for-in循环用于普通对象属性遍历,千万别用于数组

for (var index in myArray) { // 千万别这样做
console.log(myArray[index]);
}

ES6发布后的新语法,与forEach()不同的是,它可以正确响应break、continue和return语句

for (var value of myArray) {
console.log(value);
}

for-of循环也可以遍历其它的集合

字符串遍历

for (var chr of "") {
alert(chr);
}

Set对象遍历

var uniqueWords = new Set(words);
for (var word of uniqueWords) {
console.log(word);
}

Map对象遍历

for (var [key, value] of phoneBookMap) {
console.log(key + "'s phone number is: " + value);
}

for-of循环不支持普通对象,但可以用for-in循环或内建的Object.keys()方法:

// 向控制台输出对象的可枚举属性
for (var key of Object.keys(someObject)) {
console.log(key + ": " + someObject[key]);
}

你可能感兴趣的:(遍历)