簡介:不少概念不清或忘記,從新構建本身的知識體系。天天問本身1~多個問題。我是菜鳥 成爲大神之路!
數組
var array = ["one","two","three"];
複製代碼
for
循環 【推薦⭐⭐⭐⭐】for(var i = 0,len = array.length;i < len;i++){
console.log(array[i]);
}
複製代碼
for-in
【推薦⭐】'若是數組是稀疏數組,使用該方法遍歷的次數最少'
var xshu = [];
xshu[1] = "one";
xshu[66] = "two";
xshu[999] = "three";
'for-in 遍歷 3次'
'for 循環遍歷 10000 次'
for(index in array){
console.log(array[index]);
}
複製代碼
Array.prototype.forEach()
【推薦⭐⭐⭐】array.forEach(function(item,index,arr){
console.log(item,index,arr);
});
複製代碼
它的出現主要是爲了解決ES5中3種遍歷方式的缺陷: forEach 不能break 或者return
bash
for-in
的缺點: 它不只遍歷了數組中的元素,還遍歷了自定義屬性,甚至連原型鏈上的屬性都被訪問到。
ide
使用for-of
的優點:
學習
①這是最簡潔、直接遍歷數組的方式
②這個方法避開了for-in循環的缺陷
③與forEach不一樣,它能夠正確響應break,continue,return 語句。
複製代碼
缺點:
for-of不支持普通對象遍歷,只能遍歷可迭代對象
ui
for(item of array){
console.log(item);
}
複製代碼
for-of
for...of
語句在可迭代對象(包括 Array,Map,Set,String,TypedArray,arguments 對象等等)
上建立一個迭代循環,調用自定義迭代鉤子,併爲每一個不一樣屬性的值執行語句spa
😂for...in 語句以原始插入順序迭代對象的可枚舉屬性。
😂for...of 語句遍歷可迭代對象定義要迭代的數據。prototype
參考文章:
① www.jianshu.com/p/c43f418d6…
② developer.mozilla.org/zh-CN/docs/…
③ developer.mozilla.org/zh-CN/docs/…code