遍歷器 for of 迴圈

2022-03-08 20:36:58 字數 861 閱讀 5229

for...of 作為遍歷所有資料結構的統一的方法。但不能直接遍歷物件,因為沒有 symbol.iterator (遍歷器介面)

(所以可用 object.keys( ) / object.values( ) 去轉一道,轉成陣列就可以用了。或者給obj [ symbol.iterator ] = function( ))

ary.

key( )  拿到陣列的下標

value( )  拿到的是陣列的每個值

entries( )  拿到的是:[ 下標,值 ]  這個樣的乙個形式的所有的資料。

object.keys( ) 把物件的 key 值抽取出來放在陣列中

object.values( obj ) 把物件的 value 值抽取出來放在陣列中

object.entries( )  把key,value都抽出來,存到乙個陣列中

obj[symbol.iterator] = function

()    }

}}

例子:

let obj = ;

obj[symbol.iterator] = function

(), done:

false

} }

else}}

}};

for(let of obj)

不但能迴圈陣列,還能迴圈 類陣列 set 和 map 和 arguments 和 lis 資料結構

set  去除陣列重複項 [ ... new set ( array ) ]

arr.foreach(function(e,i)

})

遍歷器與 for of 迴圈

iterator 的作用 iterator 遍歷器 迭代器 for 1,2 foreach new set foreach iterator 也是用來遍歷的 尋找 iterator const it 1 2 symbol.iterator 使用 iterator const it 1 2 symbo...

迭代器和 for of 迴圈

1.for迴圈 支援break continue return等 for var index 0 index myarray.length index 2 foreach 不支援break continue return false相當於continue myarray.foreach functi...

介紹for of迴圈

for of是在es6乙個新的迴圈,取代了for in和foreach 迴圈。使用它迴圈可迭代的物件,array,map,set,string,typedarray,函式的 arguments 物件 nodelist 物件 const iterable a b for const x of iter...