美文网首页
【JS ES6】Set、Map

【JS ES6】Set、Map

作者: 大Q本Q | 来源:发表于2019-07-09 10:21 被阅读0次

Set 创建类似数组的数据结构,但成员是唯一(无重复)

let set = Set()       // 创建
let set = Set([1,2])  // 创建(通过数组)
set.size              // 成员数
set.has(value)        // 是否存在
set.add(value)        // 添加
set.delete(value)     // 删除
set.clear()           // 清除

set.keys();           // SetIterator {"a", "b", "c"}
set.values();         // 同上
set.entries();        // 同上
set.forEach(item=>{});

Map 任何类型数据都可以当成key

let m = new Map();
let map = new Map([['k1','v1'],['k2','v2'],['k3','v3']])

map.size
map.has('key')
map.set('key','value')
map.get('key')
m.delete('key')
m.clear()

map.keys()
map.values()
map.entries()
map.forEach((value,key,map)=>{})

Set/Map 转换成 Array

array = Array.from(set)    // 转换成数组1
array = [...set]           // 转换成数组2
array = [...map.values]    // map值 -> array

Set实现并集、交集、差集

let s1 = new Set([1,2,3])
let s2 = new Set([2,3,4])

new Set([...s1,...s2])                      // 并集:[1,2,3,4]
new Set([...s1].filter(item=>b.has(item))); // 交集:[2,3]
new Set([...s1].filter(item=>!b.has(item)));// 差集:[1,4]

相关文章

网友评论

      本文标题:【JS ES6】Set、Map

      本文链接:https://www.haomeiwen.com/subject/joonhctx.html