十五、Map映射
大约 1 分钟约 321 字
(一)简介
ES6
提供了Map
数据结构- 类似于对象,也是键值对的集合
- 但是键的范围不局限于字符串,各种类型的值(包括对象)都可以作为键
- 实现了
iterator
接口- 所以可以使用扩展运算符
...
和for...of
遍历
- 所以可以使用扩展运算符
1.属性和方法
属性/方法 | 说明 |
---|---|
size | 返回 Map 的元素个数 |
set | 增加一个新元素,返回当前 Map |
get | 返回键名对象的键值 |
has | 检测 Map 中是否包含某个元素,返回 boolean 值 |
clear | 清空映射,返回 undefined |
2.声明一个 Map
let m = new Map();
console.log(m);
// Map(0) {size: 0}
3.元素个数
console.log(m.size);
// 3
4.添加新的元素
m.set("name", "ikuko");
console.log(m);
// Map(1) {'name' => 'ikuko'}
m.set("change", function () {
console.log("AAA");
});
console.log(m);
// Map(2) {'name' => 'ikuko', 'change' => ƒ}
let key = {
yg: "IKUKO",
};
m.set(key, ["北京", "深圳", "上海"]);
console.log(m);
// Map(3) {'name' => 'ikuko', 'change' => ƒ, {…} => Array(3)}
5.删除
m.delete("name");
console.log(m);
// Map(2) {'change' => ƒ, {…} => '北京'}
6.获取
console.log(m.get("change"));
// ƒ () {
// console.log("AAA");
// }
console.log(m.get(key));
// (3) ['北京', '深圳', '上海']
7.遍历
for (let v of m) {
console.log(v);
}
// (2) ['change', ƒ]
// (2) [{…}, Array(3)]
8.清空
m.clear();
console.log(m);
// Map(0) {size: 0}