Es6中set和weakset用法
一级目录
set
创建
参数必须的可遍历对象 它的值不会有重复项
var set = new Set([1, 2, 3, [4], { name: 'zs' }, 2])
console.log(set);
1、使用add方法添加成员
set.add('3')
set.add(3)
console.log(set);
2、size属性 成员的个数
console.log(set.size);
3、 delete( )方法:用户删除Set结构中的指定值,删除成功返回:true,删除失败返回:fasle。
console.log(set.delete(1));
console.log(set.delete(4));
console.log(set.delete([4]));
var arr = [4]
var arr_1 = [4]
console.log(arr == arr_1);
console.log(set);
var obj = { age: 18 }
set.add(obj)
console.log(set);
set.delete(obj)
set.delete(set[2])
console.log(set);
4、clear( )方法:清除所有成员。
// set.clear()
// console.log(set);
5、has( )方法:判断set结构中是否含有指定的值。如果有,返回true;如果没有,返回fasle。
console.log(set.has(2));
console.log(set.has(obj));
6、entries( )方法:返回一个键值对的遍历器。
console.log(set.entries);
for (let [k, v] of set.entries()) {
// console.log(k);
console.log(v);
}
7、 keys( )方法:返回键名的遍历器。values()方法:返回键值的遍历器
8、forEach( )方法:遍历每一个成员。
set.forEach((item, index) => {
// console.log(item);
console.log(index);
})
set 方法数组去重
var arrSet = new Set([1, 2, 3, 4, 1, 2])
console.log([...arrSet]);
WeakSet结构同样不会存储重复的值,不同的是,它的成员必须是对象类型的值。(引用类型)
创建
let weak = new WeakSet([[1, 2], { name: 'zs' }])
console.log(weak);