今天主要谈谈ES6中新增长的两个数据结构,一个是Set一个是Map
他们究竟是什么意思呢?
粗略的说Set是特殊的数组;Map是加强版的对象
下面咱们就来认识一下这哥俩数组
Set它相似于数组,只是这个数组里的值都是惟一的,没有重复!数据结构
const s = new Set([1,1,2,2]) [...s] //[1,2]
Set🐻:想在我这儿浑水摸鱼,人云亦云、滥竽充数,不能gou!你必须是独一无二的那一个!
它通常被用来去除数组中重复的成员、取并集、交集、差集,由于真的很方便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是一个加强版的对象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🐻:个人键一应俱全,任何类型的数据都没问题,尽管放马过来,对象能干的事儿我都能干,他干不了的事儿,我也能干!
好啦,以上就是我本次分享的所有内容啦,若是你以为个人文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~字符串