美文网首页
Map 和 Set

Map 和 Set

作者: gem_Y | 来源:发表于2020-04-17 17:07 被阅读0次

学习参考: https://mp.weixin.qq.com/s/o-lhJSQBOsimtgmMLPZcMw
https://es6.ruanyifeng.com/#docs/set-map

Set

\color{blue}{类似于数组,但是成员的值都是唯一的,没有重复的值}

const set = new Set([1,2,3,4,4]);
console.log([...set]) // [1, 2, 3, 4]

可用于数组去重:

[...new Set(array)]

上面的方法也可以用于,去除字符串里面的重复字符。

[...new Set('ababbc')].join('')
// "abc"

Array.from方法可以将 Set 结构转为数组:

const items = new Set([1, 2 , 3, 4 , 4 ]);
const array = Array.from(items);

所以有了数组去重的另外一种方法:

Array.from(new Set(array))

另外的一些应用:

  const arr1 = new Set([1, 2, 3])
  const arr2 = new Set([4, 3, 2])
  // 并集
  const union = new Set([...arr1, ...arr2])
  // 交集
  const intersect = new Set([...arr1].filter(item => arr2.has(item)))
  // 差集
  const difference = new Set([...arr1].filter(item => !arr2.has(item)))

  console.log(union)
  console.log(intersect)
  console.log(difference)
image.png

Map

\color{blue}{类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键}

const m = new Map();
const o = {p: 'Hello World'};

m.set(o, 'content')
m.get(o) // "content"
  1. 向 Map 添加成员。作为构造函数,Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组
    const map = new Map([
      ['name', '张三'],
      ['age', 12]
    ])
    console.log(map.get('name')) // 张三
    console.log(map.get('age')) // 12

相关文章

  • ES6

    Symbol Set和Map Set Map Proxy get() set() apply() Reflect ...

  • Java Map,List,Set,String[]之间的转换

    Map和List map.values转list: Map和set map转set(主要用于迭代遍历) set转m...

  • Map 、Set&Object、Array

    1. Map和Set是什么? 2. Map和Set与Object和Array有什么区别,为何引入Map和Set? ...

  • 面试题解答

    Set 和Map 的方法 Set sizeaddforeachhasdeleteclear Map gethass...

  • java开发工程常用的数据结构(集合)

    List Map Set list,set,map对比 总结: Vector和ArrayList vector是线...

  • ES6新增Map和Set数据类型

    Map和Set Map 和 Set 是 ES6 标准新增的数据类型 Map JavaScript的对象(Objec...

  • Map和Set

    Map:一组键值对的结构,具有极快查找速度有has(判断是否有该键值对)get(得到对应键值)set(设置键值对)...

  • Set和Map

    Set和Map Set实例属性Set.prototype.constructor 构造函数,默认SetSet.pr...

  • Set和Map

  • Map和Set

    Map Map是一组键值对的结构,具有极快的查找速度。 初始化Map方法: 一个key只能对应一个value,所以...

网友评论

      本文标题:Map 和 Set

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