Set是什么
基本用法
const set = new Set([1,2,3,4,5,6,5])
console
.log(set);
证明set是js新的引用数据类型
let arr
= [1,2,3,4]
let obj
= {name
:'张三'}
let nu
= null
console
.log(typeof arr
);
console
.log(typeof obj
);
console
.log(typeof nu
);
console
.log(arr
instanceof Array);
console
.log(obj
instanceof Object);
console
.log(Object
.prototype
.toString
.call(arr
));
console
.log(Object
.prototype
.toString
.call(obj
));
const set = new Set([1,2,3,4,5,6,5])
console
.log(set instanceof Set);
console
.log(Object
.prototype
.toString
.call(set) === '[object Set]');
转化成数组
const set = new Set([1,2,3,4,5,6,5])
console
.log([...set]);
console
.log(Array
.from(set));
Set数据内部判断值得机制
let newSet
= new Set()
let a
= 5;
let b
= '5'
newSet
.add(a
)
newSet
.add(b
)
console
.log(newSet
);
newSet
.add(NaN)
newSet
.add(NaN)
console
.log(newSet
);
Set实例的属性和方法
Set的属性
let lastSet
= new Set()
lastSet
.add(1).add(2).add(2).add('2').add(NaN).add(NaN)
console
.log(lastSet
.size
);
add delete has clear
let lastSet
= new Set()
lastSet
.add(1).add(2).add(2).add('2').add(NaN).add(NaN)
console
.log(lastSet
.size
);
console
.log(lastSet
.has(2));
lastSet
.clear()
console
.log(lastSet
);
并集 交集 差集
let arr1
= [1, 2, 3]
let arr2
= [4, 3, 2]
let a
= new Set(arr1
)
let b
= new Set(arr2
)
let union
= new Set([...a
, ...b
])
console
.log(union
);
let inter
= new Set([...a
].filter(function (x
) {
return b
.has(x
)
}))
console
.log(inter
);
let difference
= new Set([...a
].filter(function (x
) {
return !b
.has(x
)
}))
console
.log(difference
);
转载请注明原文地址:https://ipadbbs.8miu.com/read-51679.html