forEach 方法來遍歷數組,不能使用break語句中斷循環,也不能使用return語句返回到外層函數數組
myArray.forEach(function (value) {
console.log(value);
});
for-in 循環,不建議用在數組遍歷中函數
for (var index in myArray) { // 千萬別這樣作 console.log(myArray[index]); }
for (var value of myArray) { console.log(value); }
for-of循環不只支持數組,還支持大多數類數組對象,例如DOM NodeList對象。編碼
for-of循環也支持字符串遍歷,它將字符串視爲一系列的Unicode字符來進行遍歷spa
Set對象能夠自動排除重複項: var uniqueWords = new Set(words); for (var word of uniqueWords) { console.log(word); }
Map對象稍有不一樣:內含的數據由鍵值對組成,因此你須要使用解構(destructuring)來將鍵值對拆解爲兩個獨立的變量: for (var [key, value] of phoneBookMap) { console.log(key + "'s phone number is: " + value); }
for-of循環不支持普通對象,但若是你想迭代一個對象的屬性,你能夠用for-in循環(這也是它的本職工做)或內建的Object.keys()方法:prototype
// 向控制檯輸出對象的可枚舉屬性 for (var key of Object.keys(someObject)) { console.log(key + ": " + someObject[key]); }
想讓jQuery對象也支持for-of循環,
jQuery.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];