for of迴圈與for in迴圈的區別

2021-10-20 07:34:11 字數 870 閱讀 9797

const arr =

['red'

,'green'

,'blue'];

arr.

foreach

(function

(element, index)

);

var arr =

['a'

,'b'

,'c'

,'d'];

for(

let a in arr)

for(

let a of arr)

let arr =[3

,5,7

];arr.foo =

'hello'

;for

(let i in arr)

for(

let i of arr)

for

(let x of

'a\ud83d\udc0a'

)// 'a'

// '\ud83d\udc0a'

陣列的鍵名是數字,但是for…in迴圈是以字串作為鍵名「0」、「1」、「2」等等。

for…in迴圈不僅遍歷數字鍵名,還會遍歷手動新增的其他鍵,甚至包括原型鏈上的鍵。

某些情況下,for…in迴圈會以任意順序遍歷鍵名。

總之,for…in迴圈主要是為遍歷物件而設計的,不適用於遍歷陣列。

有著同for…in一樣的簡潔語法,但是沒有for…in那些缺點。

不同於foreach方法,它可以與break、continue和return配合使用。

提供了遍歷所有資料結構的統一操作介面。

for in迴圈和for of迴圈區別

for in語句用於遍歷物件,而for of語句用於遍歷陣列,但這不是必須的,只是這樣操作比較方便。var arr 1,2,3,4,5,6,7 申明乙個陣列 for var x in arr 執行結果 var arr 1,2,3,4,5,6,7 宣告乙個純數字陣列 for var value of ...

for in 和 for of迴圈的區別

for.in 的遍歷實際上是物件的屬性名稱,乙個array陣列也是乙個物件,陣列的每個元素的索引被視為屬性名稱,所以可以看到使用for.in 迴圈array陣列,拿到的其實是每個元素的索引 var a a b c a.name hello for var i in a alert i 0 1 2 n...

for迴圈與for in迴圈

json是js裡的一種資料格式。var obj json陣列物件 var arr 15,8,12 陣列 alert obj.a 15 alert obj a 15 alert arr 0 15 for var i 0 i for var i in arr for var i in obj 彈出 a ...