javascript中的map操作

在JavaScript中,Map是一种内置的对象,它允许你以键值对的形式存储数据,其中键可以是任何值(包括对象)。与普通的JavaScript对象相比,Map提供了更多的灵活性和功能,比如可以有多个相同的值,但每个键必须唯一,而且Map会维持元素的插入顺序。

创建Map

你可以通过多种方式创建一个新的Map:

  1. 使用构造函数
   let map = new Map();
  1. 从数组构建 如果你有一个键值对数组,可以通过传递给Map构造函数来创建Map。
   let map = new Map([
     ['key1', 'value1'],
     ['key2', 'value2'],
     // ...
   ]);
  1. 从另一个Map或Iterable对象
   let map1 = new Map([['key1', 'value1']]);
   let map2 = new Map(map1);

常用方法

  • set(key, value):添加或更新键值对。
  map.set('key3', 'value3');
  • get(key):根据键获取对应的值。
  let value = map.get('key1');
  • has(key):检查Map中是否存在某个键。
  let exists = map.has('key1');
  • delete(key):删除指定键及其对应的值。
  map.delete('key1');
  • clear():清空Map中的所有键值对。
  map.clear();
  • size:返回Map中的键值对数量。
  let count = map.size;
  • keys(), values(), entries():分别返回包含所有键、值、键值对的迭代器,常用于遍历。

遍历Map

可以使用for...of循环遍历Map,或者通过其迭代器方法:

// 遍历键值对
for(let [key, value] of map) {
  console.log(key, value);
}

// 只遍历键
for(let key of map.keys()) {
  console.log(key);
}

// 只遍历值
for(let value of map.values()) {
  console.log(value);
}

Map是处理键值对数据结构时的一个强大工具,尤其在需要保持插入顺序或者使用非字符串作为键时更为有用。

Was this helpful?

0 / 0

发表回复 0