set是什么?
1.es6中的set本身是一个构造函数,用来生成set的数据结构,类似数组,值是唯一的(可用于数组去重)
set应用
1.set函数可以接受一个数组作为参数,自动数组去重,返回类数组
const arr = new Set([1, 1, 2, 3, 4, 5])
console.log(arr)
返回值:
- add 可以给set添加某个值,返回set本身
const arr = new Set()
arr.add(1).add(2).add('zs')
console.log(arr)
返回值:
3.delete 可以给set 删除值,返回一个布尔值,表示是否删除成功
const arr = new Set([1, 2, 3, 'zs'])
var a = arr.delete('zs')
console.log(a)
console.log(arr)
返回值:
- has 表示一个值是否是set结构的成员,返回一个布尔值
const arr = new Set([1, 2, 3, 'zs'])
var a = arr.has('zs')
console.log(a)
返回值:
5.clear 清除所有成员,没有返回值
const arr = new Set([1, 2, 3, 'zs'])
var a = arr.clear('zs')
console.log(arr)
6.set生成的数据结构不能用for循环遍历
let arr = ['好好', '恩恩', '哦哦', '吃饭饭', '睡觉觉', '亲亲']
let arr1 = new Set(arr)
console.log(arr1.size);
for (var i = 0; i < arr1.size; i++) {
console.log(arr1[i].value)
}
7.set生成的数据结构能用forEach循环遍历
let arr = ['好好', '恩恩', '哦哦', '吃饭饭', '睡觉觉', '亲亲']
let arr1 = new Set(arr)
arr1.forEach(item => console.log(item))
8.set生成的数据结构能用for of循环遍历
let arr = ['好好', '恩恩', '哦哦', '吃饭饭', '睡觉觉', '亲亲']
let arr1 = new Set(arr)
for (let i of arr1.keys()) {
console.log(i)
}