JS中的算法与数据结构之集合(Set)实例详解
1. 什么是Set?
Set
是ES6新增的数据结构,它是一种无序且唯一的数据集合,类似于数组,但是它不允许有相同的元素存在,可以用来存储任何类型的值(对象,字符串,数字等)。 Set
可以显著地提高数据读取效率和数据去重的效果。
2. Set的使用方法
2.1 创建Set并添加元素
// 创建set
const set = new Set()
// 添加元素
set.add(1)
set.add(2)
set.add(3)
console.log(set) // Set(3) {1, 2, 3}
2.2 Set的基本操作
has()
: 判断某个元素是否在set中delete()
: 删除某个元素clear()
: 删除set中所有元素
// set基本操作
console.log(set.has(2)) // true
set.delete(2)
console.log(set) // Set(2) {1, 3}
set.clear()
console.log(set) // Set(0) {}
2.3 Set实现数组去重
const arr = [1, 2, 3, 2, 4, 3, 5]
const set = new Set(arr)
const newArr = [...set]
console.log(newArr) // [1, 2, 3, 4, 5]
3. Set的实例应用
3.1 判断字符串中有多少个不同的字符
const countChar = str => {
const set = new Set(str)
return set.size
}
console.log(countChar('hello world')) // 9
3.2 求两个数组的交集
const intersection = (arr1, arr2) => {
const set1 = new Set(arr1)
const set2 = new Set(arr2)
return [...set1].filter(item => set2.has(item))
}
console.log(intersection([1, 2, 3], [2, 3, 4])) // [2, 3]
4. 结语
本文主要介绍Set这种数据结构的基本操作和实例应用,这个数据结构在实际编程中非常实用,能够大大提高程序的效率。开发者可以结合实际应用场景灵活使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中的算法与数据结构之集合(Set)实例详解 - Python技术站