js之Map
目录
- 操作关联数组--Map对象
- 与对象类型的差异
操作关联数组--Map对象
成员 | 概要 |
---|---|
size | 元素个数 |
set(key, value) | 添加元素对 |
get(key) | 获取指定key的元素 |
has(key) | 判断键值为key的元素是否存在 |
delete(key) | 删除指定key的元素 |
clear() | 清空 |
keys() | 获取所有的key |
values() | 获取所有的value |
entries() | 获取所有的key/value |
forEach(fnc[,that]) | 使用函数fnc依次处理Map内的元素 |
let m = new Map();
// 向m中添加值
m.set('dog', '汪汪');
m.set('cat', '喵喵');
m.set('mouse', '吱吱');
//或者在数组内使用数组,使用构造函数来初始化.
// let m = new Map([['dog', '汪汪'],['cat', '喵喵'], ['mouse', '吱吱']]);
console.log(m.size); // =>3
console.log(m.get('dog')); // =>汪汪
console.log(m.has('cat')); // =>true
// 依次获取key
for (let key of m.keys()) {
console.log(key);
}
// 依次获取值
for (let value of m.values()) {
console.log(value);
}
// 依次获取key/value
for (let[key, value] of m) {
console.log(value);
}
// 删除 key dog
m.delete('dog');
与对象类型的差异
-
对象类型只能用字符串作为key, 但在map对象中可以使用任意的类型作为key
-
可以获取map的大小