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);
}

相关文章
|
1月前
|
存储 安全 JavaScript
如何使用Set的add()方法添加元素?
如何使用Set的add()方法添加元素?
222 58
|
1月前
|
存储 安全 JavaScript
如何使用Set的delete()方法删除元素?
如何使用Set的delete()方法删除元素?
130 10
|
1月前
|
存储 JavaScript 前端开发
Set中的add()方法和数组的push()方法有什么区别?
Set中的add()方法和数组的push()方法有什么区别?
59 1
|
8月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
494 6
|
9月前
|
存储 算法 Java
解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用
在Java中,Set接口以其独特的“无重复”特性脱颖而出。本文通过解析HashSet的工作原理,揭示Set如何利用哈希算法和equals()方法确保元素唯一性,并通过示例代码展示了其“无重复”特性的具体应用。
151 3
|
7月前
|
Java Maven Spring
【SpringBug】lombok插件失效,但是没有报错信息,@Data不能生成get和set方法
解决写了@Data注解,但是在测试文件中生成的反编译target文件Us二Info中没有get和set方法
592 16
|
8月前
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”->“Settings”->“Editor”->“Code Style”->“Java”中设置。批量生成时,可多选变量一次性生成。
1166 2
|
8月前
|
开发者
除了交集运算,Set 类型还可以用于哪些数据结构的操作?
【10月更文挑战第30天】`Set`类型在数据结构操作方面提供了丰富的功能和便利,能够帮助开发者更高效地处理各种数据集合相关的任务,提高代码的简洁性和性能。
|
9月前
|
Rust Java
set 方法是坏味道?
【10月更文挑战第19天】
95 5
|
9月前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
192 4