Map
与Set
很像,但是与Set
像数组不同,Map
更像是Object。
而与对象不同的是:所有对象的属性名必须是字符串类型,所以在对象中需要确保每个键名是字符串类型而且需要是唯一的。但是map中键名可以是任意类型。
const people = new Map();
API
set()
:添加成员people.set('one', 2); people.set('day', 1); people.set('oneday', 3); // Map(3) {"one" => 2, "day" => 1, "oneday" => 3}
get()
:获得内容people.get('one'); // 2
has()
:是否包含某成员people.has('one') // true people.has('aaa') // false
forEach(value, key)
:遍历啊for...of
:还是遍历啊,但是返回的是数组 ```js people.forEach((value, key) => { console.log(value, key) // 2 "one" \n 1 "day" \n 3 "oneday" })
for (person of people) { console.log(person) // ["one", 2] \n ["day", 1] \n ["oneday", 3] }
for ([key, val] of people) { console.log(key, val); // one 2 \n day 1 \n oneday 3 }
- `delete()`:删除某个成员
```js
people.delete('one'); // Map(2) {"day" => 1, "oneday" => 3}
clear()
:清除mappeople.clear(); // Map(0) {}