十五、Map映射

郁子大约 1 分钟约 321 字笔记ECMAScript尚硅谷李强

(一)简介

  • 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}
上次编辑于: