三分钟学习一下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对象的用法,再不发出去就十二点了哈哈。
关于迭代器对象,这玩意可真的不好用文字来表达。有机会了专门写一下。