广告
返回顶部
首页 > 资讯 > 前端开发 > html >JS如何实现数组交集、并集、差集
  • 377
分享到

JS如何实现数组交集、并集、差集

2024-04-02 19:04:59 377人浏览 薄情痞子
摘要

这篇文章主要介绍了js如何实现数组交集、并集、差集,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:由于下面会用到ES5的方法,低版本

这篇文章主要介绍了js如何实现数组交集、并集、差集,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

具体如下:

由于下面会用到ES5的方法,低版本会存在兼容,先应添加对应的polyfill

Array.prototype.indexOf = Array.prototype.indexOf || function (searchElement, fromIndex) {
  var index = -1;
  fromIndex = fromIndex * 1 || 0;
  for (var k = 0, length = this.length; k < length; k++) {
    if (k >= fromIndex && this[k] === searchElement) {
      index = k;
      break;
    }
  }
  return index;
};

Array.prototype.filter = Array.prototype.filter || function (fn, context) {
  var arr = [];
  if (typeof fn === "function") {
    for (var k = 0, length = this.length; k < length; k++) {
      fn.call(context, this[k], k, this) && arr.push(this[k]);
    }
  }
  return arr;
};

依赖数组去重方法:

// 数组去重
Array.prototype.unique = function() {
  var n = {}, r = [];
  for (var i = 0; i < this.length; i++) {
    if (!n[this[i]]) {
      n[this[i]] = true;
      r.push(this[i]); 
    }
  }
  return r;
}

交集

交集元素由既属于集合A又属于集合B的元素组成

Array.intersect = function(arr1, arr2) {
  if(Object.prototype.toString.call(arr1) === "[object Array]" && Object.prototype.toString.call(arr2) === "[object Array]") {
    return arr1.filter(function(v){ 
     return arr2.indexOf(v)!==-1 
    }) 
  }
}
// 使用方式
Array.intersect([1,2,3,4], [3,4,5,6]); // [3,4]

并集

并集元素由集合A和集合B中所有元素去重组成

Array.uNIOn = function(arr1, arr2) {
  if(Object.prototype.toString.call(arr1) === "[object Array]" && Object.prototype.toString.call(arr2) === "[object Array]") {
    return arr1.concat(arr2).unique()
  }
}
// 使用方式
Array.union([1,2,3,4], [1,3,4,5,6]); // [1,2,3,4,5,6]

差集

A的差集:属于A集合不属于B集合的元素

B的差集:属于B集合不属于A集合的元素

Array.prototype.minus = function(arr) {
  if(Object.prototype.toString.call(arr) === "[object Array]") {
    var interArr = Array.intersect(this, arr);// 交集数组
    return this.filter(function(v){
      return interArr.indexOf(v) === -1
    })
  }
}
// 使用方式
var arr = [1,2,3,4];
arr.minus([2,4]); // [1,3]

感谢你能够认真阅读完这篇文章,希望小编分享的“JS如何实现数组交集、并集、差集”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网html频道,更多相关知识等着你来学习!

--结束END--

本文标题: JS如何实现数组交集、并集、差集

本文链接: https://www.lsjlt.com/news/74199.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS如何实现数组交集、并集、差集
    这篇文章主要介绍了JS如何实现数组交集、并集、差集,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:由于下面会用到ES5的方法,低版本...
    99+
    2022-10-19
  • JS怎么计算两个数组的交集、差集、并集、补集
    这篇文章给大家分享的是有关JS怎么计算两个数组的交集、差集、并集、补集的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法一:最普遍的做法使用 ES5 语法来实现虽然会麻烦些,但兼...
    99+
    2022-10-19
  • Redis中set类型实现交集并集差集
    目录概述:特征:Set常见命令:1.Sadd key number..:向set中添加一个或多个元素2.Srem key number...:移除set中指定的元素3.Scard key:返回set中元素的个数4.Sis...
    99+
    2023-06-09
    Redis 交集并集差集 Redis set类型
  • Pandas的DataFrame如何做交集,并集,差集与对称差集
    目录一、简介二、交集三、并集四、差集五、对称差集一、简介 Python的数据类型集合:由不同元素组成的集合,集合中是一组无序排列的可 Hash 的值(不可变类型),可以作为字典的Ke...
    99+
    2022-11-13
  • mysql 如何获取两个集合的交集/差集/并集
    mysql的常见场景,获取两个数据集的交集和差集 步骤 1、两个集合的结构要一致,对应的字段数,字段类型 2、将两个集合用 UNION ALL 关键字合并,这里的结果是有重复...
    99+
    2022-11-12
  • 如何在redis中使用交集、并集和差集
    这期内容当中小编将会给大家带来有关如何在redis中使用交集、并集和差集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、sinter 、sunion 、sdiffredis 支持 Set集合的...
    99+
    2023-06-06
  • JavaScript数据分析之交集,并集,对称差集
    目录列表交集列表并集列表对称差集 数据结构是待处理问题的数学模型,算法则是处理问题的策略。 作为软件工程师除了要对现实问题有很好的理解与把控外,还要深谙数据结构与算法才能找到合适的数...
    99+
    2022-11-13
  • Python 两个列表的差集、并集和交集实现代码
    ①差集 方法一: if __name__ == '__main__': a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]...
    99+
    2022-06-04
    两个 代码 列表
  • Redis如何实现数据的交集、并集和补集
    本篇内容介绍了“Redis如何实现数据的交集、并集和补集”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!场景...
    99+
    2022-10-19
  • shell如何实现并集和交集
    这篇文章主要介绍了shell如何实现并集和交集,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。并集和交集comm 可以用来求并集,交集,差集,...
    99+
    2022-10-19
  • Redis实现数据的交集、并集、补集的示例
    目录场景说明环境说明交并补计算差集的计算交集的计算并集的计算Redis命令说明场景说明 今天我们来模拟一个这样的场景,我们在本地有多个文本文件,每个文件里面存了很多的32位的字符串作为用户的唯一标识,每个用户存做一行,假...
    99+
    2022-08-10
    Redis数据交集 Redis数据并集 Redis数据补集
  • php如何求数组的差集
    这篇文章主要介绍“php如何求数组的差集”,在日常操作中,相信很多人在php如何求数组的差集问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何求数组的差集”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • GoFrame框架gset交差并补集如何使用
    这篇文章主要介绍“GoFrame框架gset交差并补集如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“GoFrame框架gset交差并补集如何使用”文章能帮助大家解决问题。使用场景方法介绍交差...
    99+
    2023-07-02
  • Linux实现文件内容去重及求交并差集
    一、数据去重 日常工作中,使用Hive或者Impala查询导出来可能会存在数据重复的现象,但又不想重新执行一遍查询(查询时间稍长,导出文件内容多),因此想到了使用Linux命令将文件的内容重复数据进行去除。 案例如下...
    99+
    2022-06-03
    Linux 文件内容 去重 交集 并集
  • GoFrame框架gset交差并补集使用实例
    目录使用场景方法介绍Intersect: 交集Diff: 差集Union: 并集Complement: 补集举例总结上一篇文章:GoFrame gset使用入门 | 对比P...
    99+
    2022-11-13
  • php数组如何求交集
    这篇文章主要介绍“php数组如何求交集”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php数组如何求交集”文章能帮助大家解决问题。一、什么是数组在介绍数组求交集之前,先简单介绍一下什么是数组。数组是...
    99+
    2023-07-06
  • JavaScript实现两个数组的交集
    目录两个数组的交集 I两个数组的交集 II两个数组的交集 I 给定两个数组 ​​nums1​​​ 和 ​​nums2​​ ,返回 它...
    99+
    2022-11-13
  • php自定义实现数组交集
    在PHP开发中,数组交集是一项常见的操作。然而,PHP提供的数组交集函数只能处理两个数组的情况。当我们需要处理多个数组的交集时,就需要自定义实现交集操作。本文将介绍如何自定义实现PHP数组交集,并提供实现代码。问题描述我们需要处理多个数组的...
    99+
    2023-05-23
  • es6数组如何求并集
    本文小编为大家详细介绍“es6数组如何求并集”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6数组如何求并集”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。3种方法:1、用set对象和扩展运算符,语法“Arra...
    99+
    2023-07-04
  • pandas中的concat函数如何实现合并交集
    这篇文章将为大家详细讲解有关pandas中的concat函数如何实现合并交集,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。合并交集In [11]: df3 = pd...
    99+
    2023-06-17
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作