js中Map和Set的区别

admin2024-01-29 09:30:01

Map和Set

Map是键值对,Set是值得集合,当然键和值可以是任何的值; 2.Map可以通过get⽅法获取值,⽽set不能因为它只有值; 3.都能通过迭代器进⾏for...of遍历; 4.Set的值是唯⼀的可以做数组去重,Map由于没有格式限制,可以做数据存储;

Map和Set是JavaScript中的两种数据结构:

Map是一种键值对的集合,其中每个键唯一且可以使用任何类型的值作为键。可以使用set()方法添加键值对,使用get()方法获取值,使用has()方法检查是否存在某个键等。

// 创建一个Map对象
let map = new Map();

// 使用set方法添加键值对
map.set('name', 'Alice');
map.set('age', 25);

// 使用get方法获取键对应的值
console.log(map.get('name')); // 输出: Alice
console.log(map.get('age'));  // 输出: 25

// 使用has方法检查Map中是否存在某个键
console.log(map.has('name')); // 输出: true
console.log(map.has('height')); // 输出: false

// 获取Map的大小
console.log(map.size); // 输出: 2

// 遍历Map
map.forEach(function(value, key) {
 console.log(key + ' : ' + value);
});

// 删除键值对
map.delete('name'); // 删除键'name'及其对应的值

// 再次使用get方法,由于键'name'已经被删除,所以返回undefined
console.log(map.get('name')); // 输出: undefined

// 清空整个Map
map.clear();
console.log(map.size); // 输出: 0

Set是一种值的无序集合,其中每个值唯一且可以使用任何类型的值作为成员。可以使用add()方法向Set添加值,使用delete()方法删除值,使用has()方法检查是否存在某个值等。

Map和Set都提供了高效的查询操作,因此在需要快速访问和查找元素的应用程序中非常有用。