插件窝 干货文章 JS 中的集合是什么?

JS 中的集合是什么?

集合 class strong partyguests 399    来源:    2024-10-23

集合是唯一值的集合。与数组不同,集合不能有重复的元素。

set 的基本操作

创建一个集合

您可以使用 new set() 构造函数创建一个新的 set。例如:

const uniquenumbers = new set([1, 2, 3, 3, 4]);
console.log(uniquenumbers); // output: set(4) {1, 2, 3, 4}

有趣严肃的例子

示例 1: 重复的派对破坏者
想象一下您正在举办一个聚会,并且您只想要独特的客人。但有些客人却两次尝试潜入!

const partyguests = new set();

partyguests.add('alice');
partyguests.add('bob');
partyguests.add('alice'); // alice tries to sneak in again!

console.log(partyguests); // output: set(2) {"alice", "bob"}

在这里,爱丽丝两次试图潜入,但套装只让她进去一次。

示例 2: 魔术帽子戏法
你有一顶魔法帽,只允许存储独特的物品。如果你尝试将同一个物品放入两次,它就不会拥有它!

const magichat = new set();

magichat.add('rabbit');
magichat.add('dove');
magichat.add('rabbit'); // another rabbit tries to jump in!

console.log(magichat); // output: set(2) {"rabbit", "dove"}

魔法帽里只有一只兔子和一只鸽子,尽管第二只兔子试图跳进去。

示例3:独特书籍图书馆
您经营着一家图书馆,每本书都必须是独一无二的。如果有人试图捐赠您已有的书,您可以礼貌地拒绝。

const library = new set(['1984', 'brave new world', '1984']); // 1984 is already in the library!

console.log(library); // output: set(2) {"1984", "brave new world"}

您的图书馆通过只保留每本书一本来保持其独特性。

有用的方法

检查会员

想知道某个特定客人是否已经参加聚会吗?

8915536​​48683

删除会员

有人决定提前离开聚会?没问题!

partyguests.delete('bob');
console.log(partyguests); // output: set(1) {"alice"}

清除集合

聚会结束了!是时候清理所有人了。

partyguests.clear();
console.log(partyguests); // output: set(0) {}

迭代集合

就像数组一样,您可以迭代集合。

const animals = new set(['cat', 'dog', 'bird']);

for (const animal of animals) {
  console.log(animal); 
  // output:
  // cat
  // dog
  // bird
}

集合和数组之间的转换

您可以将集合转换为数组,反之亦然。

const numberSet = new Set([1, 2, 3]);
const numberArray = [...numberSet]; // [1, 2, 3]

const arrayToSet = new Set(numberArray); // Set(3) {1, 2, 3}

为什么要使用一套?

当您需要存储唯一项目的集合,并且希望避免重复而无需手动检查它们时,集合特别有用。

概括

  • 唯一值: 集合仅存储唯一值。
  • 基本操作:可以添加、删除、检查集合中的值。
  • 迭代: 您可以迭代集合中的值。
  • 转换: 在集合和数组之间轻松转换。

通过使用集合,您可以确保您的收藏保持独特且高效,无论是聚会的来宾名单、魔术帽中的物品还是图书馆中的书籍!