es6学习 Set

时间:2021-09-01
本文章向大家介绍es6学习 Set ,主要包括es6学习 Set 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Set本身是一个构造函数,用来生成 Set 数据结构。 

const s = new Set();
// set类似数据结构,但所有成员的值都是唯一的

[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));

for (let i of s) {
  console.log(i);
}
// 2 3 5 4


//set 函数可以接受一个数组

const set1 = new Set([1, 2, 3, 4, 4]);
console.log([...set1])
// 使用set来去重数组

// set中2个对象总是不相同的
let setObj1= new Set();

setObj1.add({});
console.log(setObj1.size) // 1

setObj1.add({});
console.log(setObj1.size)// 2

console.log(setObj1)


//set 内部2个NaN是相等的
let setNaN = new Set();
let a = NaN;
let b = NaN;
setNaN.add(a);
setNaN.add(b);
console.log(setNaN)

总结 :

1.set是一个类似数组的数据结构,但是成员的值都是唯一的,没有重复的值。

2.set中重复添加NaN也只会有一个NaN

3.set中添加重复的对象也是不相同的对象

4.可以用于数组去重

set的属性和方法

  • Set.prototype.constructor:构造函数,默认就是Set函数。

  • Set.prototype.size:返回Set实例的成员总数。

set操作方法

  • Set.prototype.add(value):添加某个值,返回 Set 结构本身。

  • Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

  • Set.prototype.has(value):返回一个布尔值,表示该值是否为Set的成员。

  • Set.prototype.clear():清除所有成员,没有返回值。

  •  

原文地址:https://www.cnblogs.com/freon2320972914/p/15215113.html