var obj = [{ foo: 'bar', baz: 42 }, { foo: 'bar2', baz: 142 }];
forEach數組
obj.forEach((item, index) => { console.log(item) //{foo: "bar", baz: 42} ... console.log(index) //0 ... })
for in數據結構
for (const key in obj) { console.log(obj[key]) //{ foo: 'bar', baz: 42 } ... console.log(key) // 0 ... }
for of最適合遍歷的是map對象,set對象spa
map對象3d
把map對象轉化爲數組有2種寫法code
var sy = Array.from(maps); console.log([...maps])
獲得如下形式對象
var maps = new Map() maps.set("key1", { name: "唐三", value: 123 }) maps.set("key2", { name: "番茄", value: 456 }) for (const [key, value] of maps) { console.log(key) //key1 ... console.log(value) // { name: "唐三", value: 123 } ... maps.delete('key1') } console.log(maps)
set對象blog
set轉數組與上方map同樣,順便set對象是能夠去重的it
它相似於數組,可是成員的值都是惟一的,沒有重複的值。console
補充:class
Array.from
方法用於將兩類對象轉爲真正的數組:相似數組的對象(array-like object)和可遍歷(iterable)的對象(包括 ES6 新增的數據結構 Set 和 Map)。
使用for of還須要記住3個Object的方法
Object.keys(),Object.values(),Object.entries()
Object.keys(),Object.values(),Object.entries() let { keys, values, entries } = Object; var obj = [{ foo: 'bar', baz: 42 }, { foo: 'bar2', baz: 142 }]; for (let key of keys(obj)) { console.log(key) } for (let key of Object.values(obj)) { console.log(key) } for (let key of entries(obj)) { console.log(key) }