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)
})

浙公网安备 33010602011771号