0
点赞
收藏
分享

微信扫一扫

es6总结

Soy丶sauce 2022-02-24 阅读 128

es6阮一峰

Set用法

类似于数组,但是成员的值都是唯一的,没有重复的值。

只有NaN=== 不一样  其他都是一样做比较的
var set = new Set(NaN)
set.add(NaN);
set // Set {NaN}
set.size //1
set.delete() //删除某个值 返回值表示是否删除成功
set.has() // 返回布尔值 表示是否有某个值
set.clear() // 清空所有项 没有返回值
[...new Set('ababbc')] // ['a','b','c']

也可以使用Array.from解开Set实例



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


Set.prototype[Symbol.iterator] === Set.prototype.values // true  所以可以用for...of循环得到每一项值
for (let i of set) {
  console.log(i);//获取set内部的每一项
}

set.forEach((value, key) => console.log(key + ' : ' + value)) // key和value  值一样

可以把Set实例看做数组 进行map和filter操作 和数组用法类似



const p = [item,item,...] // item必须是对象也可以是数组 否则报错
const set = new WeakSet(b);
set.add(value)
set.delete(value)
set.has(value) 

set.size // undefined  没有size和forEach
set.forEach // undefined

举报

相关推荐

0 条评论