JS 中的集合是什么?
文章标签
JS
集合是唯一值的集合。与数组不同,集合不能有重复的元素。
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"}
您的图书馆通过只保留每本书一本来保持其独特性。
有用的方法
检查会员
想知道某个特定客人是否已经参加聚会吗?
删除会员
有人决定提前离开聚会?没问题!
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}
为什么要使用一套?
当您需要存储唯一项目的集合,并且希望避免重复而无需手动检查它们时,集合特别有用。
概括
通过使用集合,您可以确保您的收藏保持独特且高效,无论是聚会的来宾名单、魔术帽中的物品还是图书馆中的书籍!