从模仿由至进阶
:ES6中的Set
:zZhiqg的主页
:嘿 也许你和我一样~
ES6中新增了一种类似 数组 数据结构Set
,它通过Set
构造函数生成。
const s = new Set();
Set
可以接收有iterable接口的数据来作为入参,常见的就是数组Array
const a = new Set([2,3,3,3]);
[...a]
// [2,3] Set中的每个值都是唯一的,不重复的
Set
结构没有键名只有值名,或者说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
结构值的唯一性,能够很轻松的完成去重
的操作
// 去除数组的重复成员
let b = [1,2,2,3]
[...new Set(b)]
// [1,2,3]
重复成员
let b = [1,2,2,3]
[...new Set(b)]
// [1,2,3]