SET 数据类型
是一个类似于 数组 的数据类型
特点 : 不接受重复的相同的数据
同样的数据,在SET数据类型中,只能存储一次
基本语法:
通过构造函数来定义SET数据类型
const set = new Set() 定义一个空set
如果要在定义set的同时,进行赋值操作,必须要定义一格实参,是数组类型
可以接收JavaScript任意支持的数据类型
const set = new Set([1,2,3,4,5]);
set数据类型没有 length 属性 有一个类似的属性 size
也是表示set数据类型,数据单元的个数,长度
调用set数据单元,与数组语法类似,也是[]语法
直接使用 [] 语法调用,虽然有size属性,表示是单元个数,直接使用索引下标形式,结果是undefined
需要使用 ... 将 set 数据类型,结构为一个数组
const arr = [...set];
再使用[]语法,对arr进行操作
操作的本质上,是结构之后对应的数组
*/
const set = new Set([1,2,3,4,5,1,2,3,4,5,1,2,3,4,5]);
console.log(set);//05_SET数据类型.html:41 Set(5) {1, 2, 3, 4, 5}
console.log(set[0]);//undefined
// 将set数据类型中的数据,结构为数组形式存储
// const arr = [...set];
// console.log(arr);
// set类型的小应用---数组去重
// 有重复数据的数组
const arr = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
// 将这个数组作为set类型的参数
// set中只会存储不重复的数据
// const set = new Set(arr);
// console.log(set);
// 再将set类型结构成数组
// const newArr = [...set];
const newArr = [...new Set(arr)];
console.log(newArr);//1, 2, 3, 4, 5
// set数据类型常用方法
// (1) add() set类型新增单元,参数是新增单元的数据
// (2) delete() set类型删除单元,参数是删除单元的数据
// (3) clear() set类型清除所有单元
// (4) 使用 forEach 使用forEach循环遍历set单元
// 第一个参数和第二个参数,都是单元的数值
// 第三个参数,是set数据类型本身
const set = new Set([1,2,3]);
set.add('我是新增的');
// set.delete(3);
// set.clear();
set.forEach((item,key,three)=>{
console.log(item,key,three);//1 1 Set(4) {1, 2, 3, "我是新增的"}
//2 2 Set(4) {1, 2, 3, "我是新增的"}
//3 3 Set(4) {1, 2, 3, "我是新增的"}
//我是新增的 我是新增的 Set(4) {1, 2, 3, "我是新增的"}
})
console.log(set);//Set(4) {1, 2, 3, "我是新增的"}