ES6学习——集合(Collections):Set API

73 篇文章 23 订阅

Set就是常见的集合,集合能够保证元素的唯一性,关于唯一性的确定,Set和Map都是用的SameValueZero内部函数,关于这点请参考Map章节。ES6规范的23.2章节描述了Set,有兴趣的自己去看。


下面看API介绍:

1)Set构造函数,可以不传任何参数,如果要传参数,参数必须是iterable的

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

let s = new Set("foo","bar")//这里注意!最后集合中只会有'f'和'o',因为字符串是可以iterable的,Set构造函数会忽略第二个参数
console.log(s)//Set {"f", "o"}

仔细看上面的第二行代码



2)Set.prototype.add ( value ),返回this,可链式操作

var s = new Set();
var x = { id: 1 },y = { id: 2 };
s.add( x ).add( y ).add( x );



3)Set.prototype.has ( value ),检查集合中是否存在某值,存在返回true,否则返回false


4)Set.prototype.delete ( value ),删除集合中的元素,有返回true,否则返回false


5)Set.prototype.clear ( ),清空集合


6)Set.prototype.size,返回集合大小


7)Set.prototype.entries(),Set.prototype.keys(),Set.prototype.values()

上面这几个函数返回的都是iterator,不是数组,记住。

var s = new Set().add(0).add(1);
s.values()[0]//undefined
[...s.values()][0]//0

8)Set.prototype.forEach ( callbackfn [ , thisArg ] ),没啥可说的


*以上全部代码在Chrome 47下通过测试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值