es6:set

版权声明:菜鸟的个人见解,请指导 https://blog.csdn.net/HUSHILIN001/article/details/82155934

ES6提供了数据结构Set。类似于数组,但是没有重复值。

---------------------百度

1.set使用构造方法来构建,且传入的值需要为数组,如:

	let arr = [1, 2, 3, 4];
			console.log(arr);
			let set1 = new Set(arr);
			console.log(set1);
			let set2 = new Set(1, 2, 3);
			console.log(set2);

显示的结果为

2.Array与Set的相互转化,上面已经讲了array转化为set,现在讲讲则呢么讲set转化为array

	let arr = [1, 2, 3, 4];
			let set1 = new Set(arr);
			let new_arr = [...set1];
			console.log(new_arr);

3.去重,由于set的特征,可以用来给数组去重(上面的事例已经给出了,就不再多说)

4.方法(只举几个常用的方法):

         1.add方法:增加一个项,由于add方法返回的是该对象,因此可以使用类似jq的链式的写法, 如:

let arr = [1, 2, 3, 4];
			let set1 = new Set(arr);
			set1.add(5).add(5)
			console.log(set1);

可以看到,还是自动去重的了

          2.has方法:判断是否有某一项

	let arr = [1, 2, 3, 4];
			let set1 = new Set(arr);
			let has_1 = set1.has(1);
			console.log(has_1);

         3.delete方法:删除某一项:返回的结果为true(删除成功),false(删除失败)

let arr = [1, 2, 3, 4];
			let set1 = new Set(arr);
			let delete1 = set1.delete(1);
			let delete2 = set1.delete(1);
			console.log(set1);
			console.log(delete1);
			console.log(delete2);

         4.clear:清空一个set

由于一些朋友问我clear还有重新new一个有什么区别,我这边就直接打印出来,让大家自己去斟酌百度

	let arr = [1, 2, 3, 4];
			let set1 = new Set(arr);
			set1 = new Set();
			console.log(set1);
			let set2 = new Set(arr);
			set2.clear();
			console.log(set2);

其他的方法,个人绝得不怎么重要,就不多说了

猜你喜欢

转载自blog.csdn.net/HUSHILIN001/article/details/82155934
今日推荐