ES6之SET数据结构

本文介绍JavaScript中的Set数据结构,强调其成员唯一性特点,并详细解释了构造函数、实例方法及如何应用于去除数组重复元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特点:类似于数组,但是成员的值是唯一的,绝对不会重复!

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

可以接受一个数组作为参数,用于初始化

var set = new Set([1,2,3,4,4])
[...set]
//[1,2,3,4]
向babel加入值时不会发生类型转换:

set内部判断两个值是否不同使用的算法类似于精确相等运算符(===)。唯一的例外是NaN等于自身。

实例的属性和方法
属性:
  • Set.prototype.constructor:构造函数,默认就是set函数。
  • Set.prototype.size:返回Set实例的成员总数
操作方法:
  • add(value):返回set结构本身;
  • delete(value):返回一个布尔值;
  • has():返回一个布尔值;
  • clear():没有返回值;
应用:去除数组的重复元素
//Array.from方法可以将Set结构转为数组
var item = new Set([1,2,3,4,5]);
var array = Array.from([items]);
//去除数组的重复元素
function(){
    return Array.from(new Set(array));  
}
遍历方法:
  • keys():键名
  • values():键值
  • entries():键值对
  • forEach():使用回调函数遍历每个成员
    注意:因为Set结构没有键名,只有键值,所以keys方法和values方法的行为完全一致。

可以用for…of循环遍历Set

let set = new Set(['red','green','blue']);
for(let x of set){
    console.log(x);  //red,green,blue
}   

由于扩展运算符(…)内部使用for…of循环,所以也可以用于Set结构:

let set = new Set(['red','green','blue']);
let arr = [...set];    //['red','green','blue']

这就提供了另外一种 去除重复元素 的方法:

let set = new Set([1,2,3,3,4,5,5]);
let arr = [...set];    //['red','green','blue']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值