JS中拜访Set、Map两兄弟

今天主要谈谈ES6中新增长的两个数据结构,一个是Set一个是Map
他们究竟是什么意思呢?
粗略的说Set是特殊的数组;Map是加强版的对象
下面咱们就来认识一下这哥俩数组

Set

Set它相似于数组,只是这个数组里的值都是惟一的,没有重复!数据结构

const s = new Set([1,1,2,2])
[...s] //[1,2]
Set🐻:想在我这儿浑水摸鱼,人云亦云、滥竽充数,不能gou!你必须是独一无二的那一个!

Set用途

它通常被用来去除数组中重复的成员、取并集、交集、差集,由于真的很方便ui

去重

const s = new Set([1,1,2,2])
[...s] //[1,2]

取并集

let s1 = new Set([1,2])
let s2 = new Set([2,3])
let union = new Set([...s1,...s2])
union // Set {1,2,3}

取交集

let s1 = new Set([1,2]);
let s2 = new Set([2,3]);
let intersect = new Set([...s1].filter(x =>s2.has(x)))
intersect // Set {2}

取差集

let s1 = new Set([1,2]);
let s2 = new Set([2,3]);
let difference = new Set([...s1].filter(x =>!s2.has(x)))
difference // Set {1,3}

Map

Map它相似于对象,也是键值对的集合,可是"键"的范围不局限于字符串啦,各类类型的值包括对象均可以当它的键,能够说Map是一个加强版的对象code

// 常规字符串做为键
// 对象的定义
const obj = {}
obj.name = 'chuichui'
obj //{name: "chuichui"}
// Map的定义
const map = new Map()
map.name = 'chuichui'
map //Map {name: "chuichui"}

Map中的键还能够是一个数组,只要你想到的均可以!对象

const map = new Map()
const arr = [1,2,3]
map.set(arr,1)
map.get(arr) // 1
Map🐻:个人键一应俱全,任何类型的数据都没问题,尽管放马过来,对象能干的事儿我都能干,他干不了的事儿,我也能干!

最后 🙌

好啦,以上就是我本次分享的所有内容啦,若是你以为个人文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~字符串

相关文章
相关标签/搜索