es6,es5的遍歷合集 順便參考ES6詳細理解map,set經常使用運用

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)
  }
相關文章
相關標籤/搜索