ES6中增加了一种新的数据结构——Map。

Map是一种存储键值对的有序列表,其中键和值都可以是任何类型的值(包括对象、基本类型值等)。与Object不同的是,Map可以使用任何类型的值作为键,而不仅仅是字符串或Symbol类型。另外,Map的键值对是有序的,而Object的键值对是无序的。

Map的基本操作:

  1. 创建Map对象

可以通过new Map()来创建一个空的Map对象。

  1. 添加键值对

可以通过set(key, value)方法来向Map对象中添加新的键值对。

let map = new Map();
map.set('name', '张三');
map.set('age', 18);
  1. 获取键值对

可以使用get(key)方法获取指定键的值。

let map = new Map();
map.set('name', '张三');
map.get('name');  // 返回 '张三'
  1. 判断是否包含键

可以使用has(key)方法判断Map对象中是否包含指定的键。

let map = new Map();
map.set('name', '张三');
map.has('name');  // 返回 true
map.has('age');  // 返回 false
  1. 删除键值对

可以使用delete(key)方法删除Map对象中指定的键值对。

let map = new Map();
map.set('name', '张三');
map.delete('name');
map.has('name');  // 返回 false
  1. 清空Map对象

可以使用clear()方法清空整个Map对象中的所有键值对。

let map = new Map();
map.set('name', '张三');
map.set('age', 18);
map.clear();
map.has('name');  // 返回 false
map.has('age');  // 返回 false
  1. 获取Map对象中键值对的数量

可以使用size属性获取Map对象中键值对的数量。

let map = new Map();
map.set('name', '张三');
map.set('age', 18);
map.size;  // 返回 2
  1. 遍历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对象中的键值对。

Logo

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

更多推荐