JavaScript高级篇 (Map数据结构)
Map是一种存储键值对的有序列表,其中键和值都可以是任何类型的值(包括对象、基本类型值等)。与Object不同的是,Map可以使用任何类型的值作为键,而不仅仅是字符串或Symbol类型。另外,Map的键值对是有序的,而Object的键值对是无序的。等,这些方法都返回一个迭代器,可以用于遍历Map对象中的键值对。方法清空整个Map对象中的所有键值对。方法来向Map对象中添加新的键值对。方法遍历Map
ES6中增加了一种新的数据结构——Map。
Map是一种存储键值对的有序列表,其中键和值都可以是任何类型的值(包括对象、基本类型值等)。与Object不同的是,Map可以使用任何类型的值作为键,而不仅仅是字符串或Symbol类型。另外,Map的键值对是有序的,而Object的键值对是无序的。
Map的基本操作:
- 创建Map对象
可以通过new Map()
来创建一个空的Map对象。
- 添加键值对
可以通过set(key, value)
方法来向Map对象中添加新的键值对。
let map = new Map();
map.set('name', '张三');
map.set('age', 18);
- 获取键值对
可以使用get(key)
方法获取指定键的值。
let map = new Map();
map.set('name', '张三');
map.get('name'); // 返回 '张三'
- 判断是否包含键
可以使用has(key)
方法判断Map对象中是否包含指定的键。
let map = new Map();
map.set('name', '张三');
map.has('name'); // 返回 true
map.has('age'); // 返回 false
- 删除键值对
可以使用delete(key)
方法删除Map对象中指定的键值对。
let map = new Map();
map.set('name', '张三');
map.delete('name');
map.has('name'); // 返回 false
- 清空Map对象
可以使用clear()
方法清空整个Map对象中的所有键值对。
let map = new Map();
map.set('name', '张三');
map.set('age', 18);
map.clear();
map.has('name'); // 返回 false
map.has('age'); // 返回 false
- 获取Map对象中键值对的数量
可以使用size
属性获取Map对象中键值对的数量。
let map = new Map();
map.set('name', '张三');
map.set('age', 18);
map.size; // 返回 2
- 遍历Map对象
可以使用forEach(callback)
方法遍历Map对象中的每一个键值对。
let map = new Map([
['name', '张三'],
['age', 18]
]);
map.forEach(function(value, key) {
console.log(`${key}: ${value}`);
});
// 输出:
// name: 张三
// age: 18
另外,Map对象还有一些其他的方法,例如keys()
、values()
、entries()
等,这些方法都返回一个迭代器,可以用于遍历Map对象中的键值对。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)