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...