编程技术文章分享与教程

网站首页 > 技术文章 正文

ES6——set用法

hmc789 2024-11-24 16:51:19 技术文章 2 ℃

set 类似于array 但是成员的值是唯一的

var arr=new Array(); //arr[0]
var obj=new Object(); //obj.name
var s=new Set();
s.add(1);
s.add(1).add(2).add(3); //Set(3) {1, 2, 3}
s.add(1).add(2).add(2).add(1); //Set(2) {1, 2} 会去重 数据是唯一的
//另一种方式
var s2=new Set([1,2,3,4,5,2,1,3,2,2,1]);
s2;//Set(5) {1, 2, 3, 4, 5}
var s3=new Set();
[1,2,3,4,5,2,1,3,2,2,1].forEach((item)=>{
	s3.add(item);
})
s3; //Set(5) {1, 2, 3, 4, 5}

具体方法

add() //添加
delete() //删除单个 按照名字来,不是索引,返回true false
s2.clear(); //清楚全部 不需要参数 无返回值
size //长度
s2.has() //判断是否为set成员 返回true false

var a1=new Set([1,2,3])
a1.delete(2); //true
a1; //Set(2) {1, 3}
a1.has(1); //true

数组和set互相转换

//转为数组 Array.from()
let s4=new Set([1,2,3,2,4]);
let arr=Array.from(s4);
arr; //(4) [1, 2, 3, 4]
//另一种
var arr2=[1,2,3,4,2];
var arr3=Array.from(new Set(arr2));
arr3;//(4) [1, 2, 3, 4]
//更简洁
[...new Set(arr2)]; //(4) [1, 2, 3, 4]

//数组转为set数据结构
var b=[1,4,5,6,8];
let s5=new Set(b); //Set(5) {1, 4, 5, 6, 8}

循环 for of

var s4=new Set([5,8,1,9,3]);
for(let v of s4.entries()){ //values(); entries()键值对 [5,5] [8,8]...
	console.log(v); //[5,8,1,9,3]
}
s4.forEach((value,key)=>{

})

Tags:

标签列表
最新留言