ES6 Map

Map:ES6 新的数据结构
Map 类似 Object 但 key 可以是各种类型的值(包括Object),而 Object 只能是字符串
常用方法:
 
set(key, value)
添加成员并返回WeakMap本身
get(key)
通过 键 获取 值
has(key)
通过 键 判断 成员 是否存在
size
获取长度
delete()
通过 键 移除 成员
clear()
清空Map
 
const obj1 = { name: "tom" };
const m = new Map();
const m1 = m.set(obj1, true) // 添加成员并返回Map本身
console.log(m, m1);
console.log(m.get(obj1)); // 通过 键 获取 值
console.log(m.has(obj1)); // 通过 键 判断 成员 是否存在
console.log(m.size); // 获取长度
m.delete(obj1) // 通过 键 移除 成员
console.log(m);
m.clear() // 清空Map
 
遍历方法:
keys
返回 key
values
返回 values
entries
返回 [key, value]
for of
返回 [key, value] 效果跟 entries 一样
forEach
返回 value 效果跟 values 一样
 
const obj1 = { name: "tom" };
const obj2 = { name: "anne" };
const obj3 = { name: "jack" };

const m = new Map();
m.set(obj1, 'tom')
m.set(obj2, 'anne')
m.set(obj3, 'jack')
console.log(m);

// keys():返回 key
for (const item of m.keys()) {
  console.log(item) // 结果:{ name: "tom" } { name: "anne" } { name: "jack" }
}
// values():返回 values
for (const item of m.values()) {
  console.log(item) // 结果:tom anne jack
}
// entries():返回 [key, value]
for (const item of m.entries()) {
  console.log(item)
}
// 返回 [key, value] 效果跟 entries 一样
for (const item of m) {
  console.log(item)
}
// 返回 value 效果跟 values 一样
m.forEach(item => {
  console.log(item)
})

 

 

 
posted @ 2022-10-28 14:36  前端-大雄  阅读(51)  评论(0编辑  收藏  举报