概要
①数组在JavaScript中的使用正如其他语言的数组一样,但缺少更多类型的集合导致数组也经常被当作队列与栈来使用。
②数组只使用了数值型的索引,而如果非数值型的索引是必要的,开发者便会使用非数组的对象。
③这种技巧引出了非数组对象的定制实现,即Set 与Map。
Set
1.基本用法
·类似于数组,但其成员的值都是唯一的。
·创建方法
· Set本身是一个构造函数,用来生成Set实例。
const s = new Set();
[2, 3, 4, 5, 2, 2].forEach(x => s.add(x));
for (let i of s) {
console.log(i);
· add()方法可以添加元素到Set实例中,但不会添加重复的值。
初始化
Set函数可以接受一个数组(或具有Iterable接口的其他数据结构)作为参数,来初始化Set实例。
let set = new Set([1, 2, 3, 4, 4]);
console.log([...set]);
·应用
·去掉数组中的重复值
let items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);
console.log(...items);
·去掉字符串中重复字符
let str = "abbcddef";
console.log([...new Set(str)].join(""));