Map 是 ES6 中新增的一种数据结构,与 Set 一起添加,其实功能都差不多。我就只列举了 Map 的遍历方式,一通百通,其自身内部带有的的方法看书中介绍即可,并不复杂,比起 C 的 STL 好理解多了。
代码语言:javascript复制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)