ES6 学习笔记之 map 的多种遍历方法

Map 是 ES6 中新增的一种数据结构,与 Set 一起添加,其实功能都差不多。我就只列举了 Map 的遍历方式,一通百通,其自身内部带有的的方法看书中介绍即可,并不复杂,比起 C++ 的 STL 好理解多了。

var map = new Map([
  ['age', 19],
  ['height', 180]
]);

for (let key of map.keys()) {
  console.log(key);
}

for (let value of map.values()) {
  console.log(value);
}

for (let item of map.entries()) {
  console.log(`${ item[0] }: ${ item[1] }`);
}

for (let [key, value] of map.entries()) {
  console.log(`${ key }: ${ value }`);
}

for (let [key, value] of map) {
  console.log(`${ key }: ${ value }`);
}

map.forEach((key, value, map) => {
  console.log(`${ key }: ${ value }`);
});

// forEach 绑定 this
var reporter = {
  report(key, value) {
    console.log(`${ key }: ${ value } by reporter object.`);
  }
}

map.forEach(function (key, value) {
  // 使用箭头函数会导致这个 this 是 undefined
  this.report(key, value);
}, reporter)