持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情
Map实例属性
- Map.prototype.size
size
实例属性记录了当前Map
实例存储的元素个数。
const map = new Map();
map.set('a',10);
map.set('b',11);
map.set('c',12);
map.set('d',13);
map.set('e',14);
map.set('f',15);
// 输出当前Map实例当中的存储元素个数
console.log(map.size); // 6
Map实例方法
- Map.prototype.clear()
移除 Map 对象中所有的键值对。
const map = new Map();
map.set('a',10);
map.set('b',11);
map.set('c',12);
map.set('d',13);
map.set('e',14);
map.set('f',15);
// 未移除之前size数量为6
console.log(map.size); // 6
map.clear();
// 移除后size数量为0
console.log(map.size); // 0
- Map.prototype.delete(key)
移除Map当中的指定键,移除成功返回true
,失败返回false
。在调用delete
之后在调用has()
会返回false
。
const result = map.delete('a');
console.log(result); // true
// 移除后size数量为5
console.log(map.size); // 5
console.log(map.has('a')); // false
- Map.prototype.get(key)
获取
Map
对象当中指定的键的值,若不存在对应的值,则返回undefined
console.log(map.get('b')); // 11
- Map.prototype.has(key) 判断当前Map对象当中是否存在对于的键
console.log(map.has('b')); // true
- Map.prototype.set(key, value) 向当前Map实例当中添加对象
map.set('g',16);
迭代方法
- Map.prototype@@iterator 返回一个新的迭代对象,其中包含 Map 对象中所有的键,并以插入 Map 对象的顺序排列。
//获取map的迭代器,返回一个新的迭代对象,以键值对的形式返回
const iterator = map[Symbol.iterator]();
for(let item of iterator){
console.log(item);
}
// [ 'a', 10 ]
// [ 'b', 11 ]
// [ 'c', 12 ]
// [ 'd', 13 ]
// [ 'e', 14 ]
// [ 'f', 15 ]
- Map.prototype.keys()
keys() 返回一个引用的 Iterator 对象。它包含按照顺序插入 Map 对象中每个元素的 key 值。
//返回当前Map对象当中所有键的一个可迭代对象
console.log(map.keys()); // [Map Iterator] { 'a', 'b', 'c', 'd', 'e', 'f' }
- Map.prototype.values()
一个新的 Map 可迭代对象。对象包含所有的map实例的值
// 返回当前Map当中的值组成的可迭代对象
console.log(map.values()); // [Map Iterator] { 10, 11, 12, 13, 14, 15 }
- Map.prototype.entries() entries() 方法返回一个新的包含 [key, value] 对的 Iterator 对象,返回的迭代器的迭代顺序与 Map 对象的插入顺序相同。
console.log(map.entries());
// [Map Entries] {
// [ 'a', 10 ],
// [ 'b', 11 ],
// [ 'c', 12 ],
// [ 'd', 13 ],
// [ 'e', 14 ],
// [ 'f', 15 ]
// }
- Map.prototype.forEach(callbackFn[, thisArg])
forEach() 方法按照插入顺序依次对 Map 中每个键/值对执行一次给定的函数
map.forEach((value,key,map) => {
console.log(value,key,map);
})
// 10 a
// 11 b
// 12 c
// 13 d
// 14 e
// 15 f