Set结构
Set是ES6给开发者带来的一种新的数据结构,你可以理解为值的集合。
注意:它的值不会有重复项。
1.利用set进行数组去重:
var x = new Set([1,2,4,2,3,3,1,2])
console.log(x);
var arr = [1,2,6,2,9,1,5,4,5]
var s = new Set(arr)
console.log(s);
2.size属性
作用:获取成员的个数。
let s = new Set([1,2,3,4]);
s.size; //结果:4
3.delete属性
delete( )方法:用户删除Set结构中的指定值,删除成功返回:true,删除失败返回:fasle。
var s = new Set([1,2,3]);
console.log(s);//打印结果:Set {1, 2, 3}
//使用delete方法删除指定值
s.delete(2);//true
s.delete(4);//false
console.log(s);//打印结果:Set {1, 3}
4.clear方法
clear( )方法:清除所有成员。
5.has方法
has( )方法:判断set结构中是否含有指定的值。如果有,返回true;如果没有,返回fasle
var s = new Set([1,2,3]);
s.has(1);//结果:true
s.has(4);//结果:false
6.enteries方法
entries( )方法:返回一个键值对的遍历器。
var s = new Set(['a','b','c']);
s.entries();
//结果:SetIterator {["a", "a"], ["b", "b"], ["c", "c"]}
注意:Set结构是键名和键值是同一个值。
7.keys和values方法
keys( )方法:返回键名的遍历器。
values( )方法:返回键值的遍历器。
8.forEach
forEach( )方法:遍历每一个成员。
Weakset结构
WeakSet结构同样不会存储重复的值,不同于set的是,它的成员必须是对象类型的值。
WeakSet结构也提供了add( ) 方法,delete( ) 方法,has( )方法给开发者使用,作用与用法跟Set结构完全一致。
WeakSet 结构不可遍历。所以WeakSet 结构不会有keys( ),values( ),entries( ),forEach( )等方法和size属性。