美文网首页前端面试题
判断两个 Set 是否相同

判断两个 Set 是否相同

作者: 千茉紫依 | 来源:发表于2019-04-10 18:46 被阅读0次

Set可以看做是增强型的数组,它内部的重复值会被自动剔除,而且Set中重复的判断标准是根据值,而不是根据引用地址,这一点对于重复对象判别非常友好。Set常用的方法有size、add、delete、has,与数组类似。
判断两个 Set 是否相同

方案一:
const isSameSet = (s1, s2) => {
  if (s1.size !== s2.size) {
    return false;
  }
  return [...s1].every(i => s2.has(i))
}

这里使用延展符...将Set转化为数组,然后使用数组的every函数来判别是否有重复,every函数对数组每个值执行传入的函数,若全部符合则返回true,否则返回false

方案二:
const isSameSet = (set1, set2) => {
    let s = new Set([...set1, ...set2])
    return s.size == set1.size && s.size == set2.size
}

由两个生成一个新的Set,如果两个Set相等,那么新Set的size必然与两个Set完全一致。

相关文章

  • 判断两个 Set 是否相同

    Set可以看做是增强型的数组,它内部的重复值会被自动剔除,而且Set中重复的判断标准是根据值,而不是根据引用地址,...

  • python集合操作

    判断两个list是否相等 判断两个tuple是否相等 判断两个set是否相等 list转set list转tupl...

  • 哈希表

    哈希表确定元素是否相同 1. 判断的是两个元素的哈希值是否相同 如果相同,再判断两个对象的内容是否相同。 2. 判...

  • 【Effective STL(3)】关联容器

    19 了解相等和等价的区别 find算法和set::insert是判断两个值是否相同的函数代表,它们以不同的方式完...

  • 随笔方法

    判断两个数组对象是否含有相同的key值 判断两个数组是否有相同的值 扩展:可以尝试一下判断两个数组相同值都有哪些,提出来

  • JAVA集合------萌新学习之路,SET接口

    Set接口 Set集合不允许有重复元素,判断两个Set集合元素是否相等使用equals比较,而不是==,set集合...

  • 【编程】python入门---字典04

    视频教程:B站 Siki学院 如何判断两个列表是否相等:两个列表长度相同,内容相同,顺序一样 如何判断两个字典是否...

  • 100.Same Tree

    判断两个树是否相同,注意判断是否为NULL。 代码: bool isSameTree(TreeNode* p, T...

  • Javascript中的Set和Map

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

  • Set集合,HashSet集合

    Set判断两对象是否相同,不是使用==运算符,而是根据equals方法,只要方法返回值为true,Set就不会接收...

网友评论

    本文标题:判断两个 Set 是否相同

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