JS Set详解

JS Set详解

JS Set详解

什么是Set?

在JavaScript中,Set是一种数据结构,它允许你存储无重复值的集合。Set对象允许你存储任何类型的唯一值,无论是原始值或者对象引用。

const mySet = new Set();

mySet.add(1);
mySet.add(2);
mySet.add(3);
mySet.add(1); // 重复添加同一个值

console.log(mySet); // Set(3) { 1, 2, 3 }

在上面的代码中,可以看到我们使用const mySet = new Set();创建了一个名为mySet的Set对象。然后我们使用add()方法向Set中添加值。值得注意的是,我们尝试两次向Set中添加值1,但由于Set只允许存储唯一值,所以重复添加的值会被忽略。

Set的常用方法

add()

add()方法用于向Set对象中添加一个新的元素。如果Set中已经存在相同的元素,它将不会被添加。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');
mySet.add('apple'); // 重复添加

console.log(mySet); // Set(3) { 'apple', 'orange', 'banana' }

delete()

delete()方法用于从Set对象中删除一个元素。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

mySet.delete('orange');

console.log(mySet); // Set(2) { 'apple', 'banana' }

has()

has()方法用于检查Set对象中是否存在某个元素。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

console.log(mySet.has('apple')); // true
console.log(mySet.has('grape')); // false

clear()

clear()方法用于清空Set对象中的所有元素。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

mySet.clear();

console.log(mySet); // Set(0) {}

Set的迭代方法

keys()

keys()方法返回一个包含Set对象中所有元素键的迭代器。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

const keys = mySet.keys();

for(let key of keys) {
  console.log(key);
}

/*
输出:
apple
orange
banana
*/

values()

values()方法返回一个包含Set对象中所有元素值的迭代器。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

const values = mySet.values();

for(let value of values) {
  console.log(value);
}

/*
输出:
apple
orange
banana
*/

entries()

entries()方法返回一个包含Set对象中所有元素键值对的迭代器。

const mySet = new Set();

mySet.add('apple');
mySet.add('orange');
mySet.add('banana');

const entries = mySet.entries();

for(let entry of entries) {
  console.log(entry);
}

/*
输出:
[ 'apple', 'apple' ]
[ 'orange', 'orange' ]
[ 'banana', 'banana' ]
*/

Set的应用场景

Set通常用于存储一组唯一的值,比如去重、判断某个值是否存在等场景。另外,Set也可以用于将数组转换为去重后的集合。

const arr = [1, 2, 3, 1, 2, 4, 5];

const uniqueSet = new Set(arr);

console.log(Array.from(uniqueSet)); // [ 1, 2, 3, 4, 5 ]

总结

在本文中,我们详细介绍了JavaScript中的Set数据结构,包括创建Set对象、常用方法、迭代方法以及应用场景。Set是一种非常实用的数据结构,可以帮助我们轻松地处理一组唯一的值,避免重复数据的存储,提高数据处理效率。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程