三分钟学习一下JavaScript中set对象的用法

set对象

Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

1.1 构造方法 
const set1 = new Set([1, 2, 3, 4, 5]);
const set2 = new Set();
const set3 = new Set([1, 2, 3, 4, 5, 1]);

1.2 size属性 :个数
console.log(set1.size) // 5
console.log(set2.size) // 0
console.log(set3.size) // 5

1.3 add方法: 在set对象的尾部加入一个新元素,同时返回set对象
set2.add(1)

1.4 clear方法:移除set对象中的所有元素 没有返回值
console.log(set1.clear()) / undefined

1.5 entries方法:返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值的[value, value]数组。为了使这个方法和Map对象保持相似, 每个值的键和值相等。
let test = set3.entries()
    for (let item of test) {
      console.log(item)
    }
自行打印下就知道了    

1.6 forEach方法:按照插入顺序,为Set对象中的每一个值调用一次callBackFn。如果提供了thisArg参数,回调中的this会是这个参数。
set3.forEach((item) => {
      console.log(item)
    })

1.7 has方法 返回一个布尔值,表示该值在Set中存在与否。
set3.has(10) // false
set3.has(1) // true

1.8 values方法 返回一个新的迭代器对象,该对象包含Set对象中的按插入顺序排列的所有元素的值。
for (let item of test) {
      console.log("item", item)
    }

1.9 delete方法:删除元素 ,返回Set.prototype.has(value)在这个操作前会返回的值(即如果该元素存在,返回true,否则返回false)
set3.delete(1)

明天大概写一下map对象的用法,再不发出去就十二点了哈哈。

关于迭代器对象,这玩意可真的不好用文字来表达。有机会了专门写一下。


伯约同学
62 声望3 粉丝