es6之 set 和 map

107 阅读1分钟

1. set

  1. 类似于数组,但是值都是唯一的,没有重复
const s = new Set();
[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
for (let i of s) {
  console.log(i);
}
// 2 3 5 4
  1. 去除数组重复成员
const a = [1,1,2,2,3,3,]
const newA = [...new Set(a)]
newA // 123
  1. 去除字符串重复成员
const str = 'wweerr'
const newStr = [...new Set(str)].join('')
newStr // wer
  1. add(), has(), delete(), clear(), size

2. weakSet

Set与weakSet 类似 都是不重复值的集合,但是weakSet的值必须是对象

3. Map

传统的js对象只能用字符串当做键,Map的键的范围不仅限于字符串,各种类型的值都可以

const mapData = new Map();
mapData.set(1, 'hello')
mapData.get(1) //'hello

方法包括: set(), get(), has(), delete(), size, clear()

4. weakMap

值接收对象作为键名