JS之for...in和for...of


for...in輸入鍵;

for...in循環有幾個缺點。

  • 數組的鍵名是數字,但是for...in循環是以字符串作為鍵名“0”、“1”、“2”等等。
  • for...in循環不僅遍歷數字鍵名,還會遍歷手動添加的其他鍵,甚至包括原型鏈上的鍵。
  • 某些情況下,for...in循環會以任意順序遍歷鍵名。

總之,for...in循環主要是為遍歷對象而設計的,不適用於遍歷數組。

 

 

for...of輸出值;

for...of循環相比上面幾種做法,有一些顯著的優點。

  • 有着同for...in一樣的簡潔語法,但是沒有for...in那些缺點。
  • 不同於forEach方法,它可以與breakcontinuereturn配合使用。
  • 提供了遍歷所有數據結構的統一操作接口。
var arr = ['a', 'b', 'c', 'd'];

for (let a in arr) {
    console.log(a); // 0 1 2 3
    console.log(arr[a]);// a b c d
}

for (let b of arr) {
    console.log(b); // a b c d
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM