版权声明:转载请注明出处 https://blog.csdn.net/qdmoment/article/details/82771215
学习一种新的数据结构,一般从三方面切入;
第一:数据结构的结构类型
第二:数据结构的定义方法
第三:数据结构的操作方法和属性
—————————————————————————————————————————————————————
以下从以上几个方面解析下set数据结构:
1,set结构类型:类似于数组;成员都是唯一的;是一个构造函数
2,set数据结构定义方法
语法:const s = new Set(param)
注:param可以是一个数组,也可以是具有iterable 接口的其他数据结构,也可以不传入
const s = new Set();//无参数
[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
for (let i of s) {
console.log(i);
}
// 使用解构
const set = new Set([1, 2, 3, 4, 4]);
[...set]
// [1, 2, 3, 4]
// 去重
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
items.size // 5
// 具有 iterable 接口
const set = new Set(document.querySelectorAll('div'));
set.size // 56
3,set结构的属性和方法
set实例有属性和方法
set实例属性:
Set.prototype.constructor
:构造函数,默认就是Set
函数。Set.prototype.size
:返回Set
实例的成员总数。
set实例方法:两大类(操作方法,遍历方法)
操作方法:4个
add(value)
:添加某个值,返回 Set 结构本身。delete(value)
:删除某个值,返回一个布尔值,表示删除是否成功。has(value)
:返回一个布尔值,表示该值是否为Set
的成员。clear()
:清除所有成员,没有返回值。
set遍历方法:4个
keys()
:返回键名的遍历器values()
:返回键值的遍历器entries()
:返回键值对的遍历器forEach()
:使用回调函数遍历每个成员
知识拓展:set和Array的转换
set到Array:
Array.from(new Set())
[...new Set()]
Array到set 参考set定义