Set和Map的详解

一.Set

ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。
Set本身是一个构造函数,用来生成Set数据结构。

1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。

var s = new Set();
var set = new Set([1, 2, 3, 4, 4]);
[...set]  // [1, 2, 3, 4]
var items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
items.size // 5

2.Set 的方法:
add(item) 方法,用来向 Set 添加任意类型的元素,如果已经添加过则自动忽略;
has(item) 方法用来检测 Set 中是否存在指定元素;
delete(item) 方法用来从 Set 中删除指定元素;
clear() 用来清空 Set;
size 属性 获取 Set 集合长度

示例:

var set = new Set();
set.add(window);
set.has(window); // true
set.size; // 1
set.add(window);
set.add(1);
set.size; // 2
set.delete(window);
set.has(window); // false
set.clear();
set.size; // 0

3.Set实例属性

Set.prototype.constructor:构造函数,默认就是Set函数。
Set.prototype.size:返回Set实例的成员总数。
Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。

注意:

  • Set 调用 add、has、delete 等方法时对 key 进行的比较,不做类型转换。向Set加入值的时候,不会发生类型转换,所以5和”5”是两个不同的值。
  • Set 中,NaN 只能添加一次;
  • Set 中,「-0」和「0 或 +0」可以同时存在,因为符号不一样;
  • 两个对象总是不相等的。

除数组重复成员的方法。

var set = new 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值