es6 set的使用

似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。
我们可以利用这一唯一特性进行数组的去重工作。
1.set是一种数据结构,可以认为是数组;
2.set里面添加的对象即使相同也是不相等的,例如:set.add({}); set.add({}); 可以同时存在;
3.Set.prototype.constructor,构造函数,默认是set函数;
4.Array.from方法可以将set结构转化为数组;
Array.from(new Set([...a,...b]))

es6 set方法可分为两大类:
1、操作方法(用于数据操作)“add(value)”、“delete(value)”、“has(value)”、clear();

add(value)    添加数据,并返回新的 Set 结构
delete(value)   删除数据,返回一个布尔值,表示是否删除成功
has(value)    查看是否存在某个数据,返回一个布尔值
clear()      清除所有数据,没有返回值

let set = new Set([1, 2, 3, 4, 4]);
// 添加数据 5
let addSet = set.add(5);
console.log(addSet); // Set(5) {1, 2, 3, 4, 5}
// 删除数据 4s
let delSet = set.delete(4);
console.log(delSet); // true 此处返回值是个boolean 表示 是否删除成功
// 查看是否存在数据 4
let hasSet = set.has(4);
console.log(hasSet); // false
// 清除所有数据
set.clear();
console.log(set); // Set(0) {}

2、遍历方法(用于遍历数据)keys()、values()、entries()、forEach()。

keys()     返回一个键名的遍历器
values()    返回一个键值的遍历器
entries()    返回一个键值对的遍历器
forEach()   使用回调函数遍历每个成员

let color = new Set(["red", "green", "blue"]);
for(let item of color.keys()){
 console.log(item);
}
// red
// green
// blue
for(let item of color.values()){
 console.log(item);
}
// red
// green
// blue
for(let item of color.entries()){
 console.log(item);
}
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]
color.forEach((item) => {
 console.log(item)
})
// red
// green
// blue

Set的属性

常用的属性就一个:size--返回 Set 实例的成员总数。

let s = new Set([1, 2, 3]);
console.log( s.size ); // 3
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 你可能问,都2021年了,咋还在讨论Set基础知识?这不是Vue 3.0来了么,2021年就可以上生产了,Vue ...
    microkof阅读 3,808评论 0 0
  • Set 基本用法 ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是...
    oWSQo阅读 4,191评论 0 1
  • 似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。我们可以利用这一唯一特性进行数组的去重工作。 实例方法 ...
    前端胡歌阅读 1,768评论 0 0
  • (一) set 数据结构 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。...
    woow_wu7阅读 4,693评论 1 1
  • Set类似于数组,但是成员的值都是唯一的,没有重复的值。它本身就是一个构造函数,用来生成Set数据结构: 例1通过...
    汶沐阅读 1,826评论 0 0