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)
  }
相关文章
相关标签/搜索