ES6中的Set数据结构的常用方法和使用场景

简介: ES6中的Set数据结构的常用方法和使用场景

ES6中的Set数据结构
Set 是 ES6 中新增的数据结构,用于存储不重复的值,允许存储任何类型的唯一值。Set 的核心特点是值唯一性,类似数学中的集合。

常用方法

  1. add(value)
    添加值到Set中,如果值已存在则不会添加。

const set = new Set();
set.add(1); // Set {1}
1
2

  1. delete(value)
    删除指定值,返回布尔值,表示是否删除成功。

set.delete(1); // true
1

  1. has(value)
    检查值是否存在于Set中,返回布尔值。

set.has(1); // false
1

  1. clear()
    清空整个Set。

set.clear(); // Set {}
1

  1. size
    返回Set中的元素数量。

set.size; // 0
1

  1. forEach(callback)
    遍历Set,为每个值执行一次提供的回调函数。

let mySet = new Set([1, 2, 3, 4, 5]);

mySet.forEach(function(value, key) {
console.log('value: ' + value + ', key: ' + key);
});
1
2
3
4
5

  1. 迭代器方法
    keys() 和 values(): 返回包含集合中元素的迭代器(Set 的键和值相同)。
    entries(): 返回[value, value]格式的迭代器,适用于Map接口的兼容。
    for...of: 遍历Set中的每个值。
    let mySet = new Set([1, 2, 3, 4, 5]);

// 使用 .values()
for (let value of mySet.values()) {
console.log(value);
}

// 使用 .keys(),与 .values() 相同
for (let key of mySet.keys()) {
console.log(key);
}

// 使用 .entries()
for (let entry of mySet.entries()) {
console.log(entry); // 每个 entry 是一个 [value, value] 的数组
}
// 使用 for...of 循环来迭代其值
for (let value of mySet) {
console.log(value);
}

相关文章
|
3天前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
14 3
|
4天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
17 4
|
8天前
|
Java C++ 索引
让星星⭐月亮告诉你,LinkedList和ArrayList底层数据结构及方法源码说明
`LinkedList` 和 `ArrayList` 是 Java 中两种常见的列表实现。`LinkedList` 基于双向链表,适合频繁的插入和删除操作,但按索引访问元素效率较低。`ArrayList` 基于动态数组,支持快速随机访问,但在中间位置插入或删除元素时性能较差。两者均实现了 `List` 接口,`LinkedList` 还额外实现了 `Deque` 接口,提供了更多队列操作。
13 3
|
11天前
|
存储 算法 Java
数据结构与算法学习八:前缀(波兰)表达式、中缀表达式、后缀(逆波兰)表达式的学习,中缀转后缀的两个方法,逆波兰计算器的实现
前缀(波兰)表达式、中缀表达式和后缀(逆波兰)表达式的基本概念、计算机求值方法,以及如何将中缀表达式转换为后缀表达式,并提供了相应的Java代码实现和测试结果。
17 0
数据结构与算法学习八:前缀(波兰)表达式、中缀表达式、后缀(逆波兰)表达式的学习,中缀转后缀的两个方法,逆波兰计算器的实现
|
19天前
|
存储 编译器 C++
【初阶数据结构】掌握二叉树遍历技巧与信息求解:深入解析四种遍历方法及树的结构与统计分析
【初阶数据结构】掌握二叉树遍历技巧与信息求解:深入解析四种遍历方法及树的结构与统计分析
|
8天前
|
存储 算法 索引
HashMap底层数据结构及其增put删remove查get方法的代码实现原理
HashMap 是基于数组 + 链表 + 红黑树实现的高效键值对存储结构。默认初始容量为16,负载因子为0.75。当存储元素超过容量 * 负载因子时,会进行扩容。HashMap 使用哈希算法计算键的索引位置,通过链表或红黑树解决哈希冲突,确保高效存取。插入、获取和删除操作的时间复杂度接近 O(1)。
18 0
|
29天前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
29天前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
1月前
|
JavaScript 前端开发
JavaScript 中的新 Set 方法
JavaScript 中的新 Set 方法
21 1
|
17天前
|
算法 Java C语言
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
20 0