在ES6中,JavaScript引入了Set和Map数据结构,它们与C++ STL中的set和map类似,但是有一些不同。
Set是一种无序的、不重复的数据集合,它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。
下面是一个使用Set的例子:
下面展示一些 内联代码片
。
let set = new Set([1, 2, 3, 4, 4]);
console.log(set.size); // 4
set.add(5);
console.log(set.size); // 5
set.delete(4);
console.log(set.size); // 4
console.log(set.has(3)); // true
console.log(set.has(4)); // false
set.clear();
console.log(set.size); //
Map是一种键值对的数据结构,它类似于对象,但是键可以是任意类型。Map本身也是一个构造函数,用来生成Map数据结构。
下面是一个使用Map的例子:
```javascript
let map = new Map();
map.set('name', 'John');
map.set('age', 30);
console.log(map.get('name')); // John
console.log(map.get('age')); // 30
console.log(map.has('name')); // true
console.log(map.has('gender')); // false
map.delete('age');
console.log(map.size); // 1
map.clear();
console.log(map.size); // 0