美文网首页
Javascript中的Set和Map

Javascript中的Set和Map

作者: 浩神 | 来源:发表于2018-03-27 23:11 被阅读6次

set

类似于数组,但元素都是唯一的

Set判断元素是否相等,采用类似于===的方式:

  1. NaN和NaN是相同的
  2. 两个对象是不相等的

基本操作

  • add(value):添加某个值,返回 Set 结构本身。
  • delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
  • has(value):返回一个布尔值,表示该值是否为Set的成员。
  • clear():清除所有成员,没有返回值。

Array.form方法可以将Set转换为array

对set的遍历

  • set.keys() # set没有键值,所以会返回value
  • set.values()
  • set.entries()
  • set.forEach()
  • for(let a of set)
  • ...set
let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);

// 并集
let union = new Set([...a, ...b]);
// Set {1, 2, 3, 4}

// 交集
let intersect = new Set([...a].filter(x => b.has(x)));
// set {2, 3}

// 差集
let difference = new Set([...a].filter(x => !b.has(x)));
// Set {1}

Map

Javascript的对象本质上是键值对的集合,并且只能用字符串当做键;
Map也是键值对的集合,但是能够适用各种类型作为键

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

m.set(o, 'content')
m.get(o) // "content"

m.has(o) // true
m.delete(o) // true
m.has(o) // false

相关文章

  • ES6新增Map和Set数据类型

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

  • Javascript中的Set和Map

    set 类似于数组,但元素都是唯一的 Set判断元素是否相等,采用类似于===的方式: NaN和NaN是相同的 两...

  • JavaScript中的Map和Set

    Map集合 Map是一种键值对的数据存储结构,比传统的数组更具优秀的查询结构与速度 Map声明方式 向Map集合中...

  • JavaScript Map和Set

    注意:Map和Set是ES6标准新增的数据类型 Map:增强版的Object Object的属性名只能为strin...

  • JavaScript Map 和 Set

    JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对...

  • JavaScript中的Array、Set和Map

    数组、Set和Map比较 都是JavaScript的数据结构 Set是ES6提供的新的数据结构, 类似于数组, 但...

  • javaScript 基础 02

    Map和Set JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结...

  • JavaScript学习之旅-6(原创)

    在上一篇文章中,我们主要学习了JavaScript中的Map和Set,以及如何通过 for ...of 去遍历Ar...

  • Javascript之Map和Set

    JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对...

  • JavaScript之Map和Set

    简单点说,跟Python的dict和set基本是一样的。JavaScript的默认对象表示方式{}可以视为其他语言...

网友评论

      本文标题:Javascript中的Set和Map

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