#2 javascript深入浅出--数组的交集、并集、差集和补集

5 篇文章 0 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏

一、交集、并集、差集和补集的概念
这里写图片描述

注意:在集合论和数学的其他分支中,存在补集的两种定义:相对补集和绝对补集。
1、相对补集
若A 和B 是集合,则A 在B 中的相对补集是这样一个集合:其元素属于B但不属于A,B - A = { x| x∈B且x∉A}。
2、绝对补集
若给定全集U,有A⊆U,则A在U中的相对补集称为A的绝对补集(或简称补集),写作∁UA。

二、代码实现

/**
@functionname:initTable
@description:获得元素唯一的数组
@author:yzh
@param:arr
@date:2018-09-02
*/
function unique(arr){
    var newArr = new Array();
    for(var i = 0; i<arr.length;i++){
        if(!contains(newArr,arr[i])){
            newArr.push(arr[i]);
        }
    }
    return newArr;
}

/**
@functionname:contains
@description:判断某个数组的元素是否在另一个数组中
@author:yzh
@param:arr1,
@param:arr2Value,
@date:2018-09-02
*/
function contains(arr1,arr2Value){
    for(var i = 0;i<arr1.length;i++){
        if(arr1[i] == arr2Value){
            return true;
        }
    }
    return false;
}

/**
@functionname:intersect
@description:求两个数组的交集
@author:yzh
@param:arr1,
@param:arr2,
@date:2018-09-02
*/
function intersect(arr1,arr2){
    var intersectArr = [];
    $.each(unique(arr1),function(i,v){
        if(contains(arr2,v)){
            intersectArr.push(v);
        }
    });
    return intersectArr;
}

/**
@functionname:union
@description:求两个数组的并集
@author:yzh
@param:arr1,
@param:arr2,
@date:2018-09-02
*/
function union(arr1,arr2){
    //合并两个数组的元素==>concat()
    return unique(arr1.concat(arr2));
}

/**
@functionname:minus
@description:求两个数组的一个数组相对另一个数组的差集
@author:yzh
@param:arr1,
@param:arr2,
@date:2018-09-02
*/
function minus(arr1,arr2){
    var minusArr = [];
    $.each(unique(arr1),function(i,v){
        if(!contains(arr2,v)){
            minusArr.push(v);
        }
    });
    return minusArr;
}

/**
@functionname:complement
@description:求两个数组中某个数组的补集
@author:yzh
@param:arr1,
@param:arr2,
@date:2018-09-02
*/
function complement(arr1,arr2){
    return minus(union(arr1,arr2),intersect(arr1,arr2));
}

/**测试:
var arr = [1,2,4,5,7,7,3,4,3,67,78];
var arr2 = [1,0,2,33,56,78,90,34,2,45,2,78,23,5,67] 
//元素去重
console.info(unique(arr));
//获取两个数组的交集
console.info(intersect(arr,arr2));
//获取两个数组的并集
console.info(union(arr,arr2));
//获取arr2数组相对arr的差集
console.info(minus(arr,arr2));
//获取两个数组(交集)的补集
console.info(complement(arr,arr2).sort());

output:
(8)[1, 2, 4, 5, 7, 3, 67, 78]
(5)[1, 2, 5, 67, 78]
(15)[1, 2, 4, 5, 7, 3, 67, 78, 0, 33, 56, 90, 34, 45, 23]
(3)[4, 7, 3]
(10)[0, 23, 3, 33, 34, 4, 45, 56, 7, 90]
**/
java求集合的并集交集补集差集和对称差集
12-07
写得比较简单,随便看看就好 该代码是离散数学的一些简单运算
js使用canvas实现画roi功能,并实现交集并集差集操作支持圆形,矩形,旋转矩形绘制,鼠标像素拾取,图片缩放,图片拖拽,像素
04-02
支持圆形、矩形和旋转矩形的绘制功能,同时实现了鼠标像素拾取、图片缩放、图片拖拽以及像素测量等实用功能。此外,还能够进行ROI(感兴趣区域)的交集并集补集操作,并输出结果。
JS - 计算两个数组交集差集并集补集(多种实现方式)
Haines
05-25 7008
作者:米渃 链接:https://zhuanlan.zhihu.com/p/368254016 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 方法一:最普遍的做法 使用ES5语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器JavaScript版本。也不用引入其他第三方库。 1,直接使用 filter、concat 来计算 var a = [1,2,3,4,5] var b = [2,4,6,8,10] //交集 var c = a.filter(fu.
Java List 集合取 交集并集差集补集 Java集合取交集、Java集合并集
HaHa_Sir的博客
08-01 5万+
1、在日常开发中,经常会遇到对2个集合的操作,例如2个集合之间取相同的元素(交集),2个集合之间取不相同的元素(差集)等等。。。2、本文系统性的整理,Java中集合。
你真的了解数组吗?(交集差集并集补集在项目中的使用)
qq_37021136的博客
04-15 1235
何为交集/差集/并集/补集? 我们项目中大多数是在与数组斗智斗勇,由于之前项目有使用到类似于差集这种思路,便一发不可收拾入了这个坑,在认真思考之后,发现实战项目中很多地方都可以用到这个知识点,于是便写个博客以记录心得感悟 首先要介绍一下何为交集/差集/并集/补集 PS:已经了解的同志们可以从目录直接跳转过去进行阅读 文章目录何为交集/差集/并集/补集?一、数组交集1.何为数组交集?2.如何用代码实现数组交集?3.实际项目中哪些地方可以使用到此技能?二、数组差集1.何为数组交集?2.如何用代码实现
js 获取两个数组交集并集补集差集(转载+收藏)
梓隽的博客
06-08 2052
发现一个挺好用的js 获取两个数组交集并集补集差集的文章,收藏起来方便以后查阅 一、简单数组 1、ES5: const arr1 = [1,2,3,4,5], arr2 = [5,6,7,8,9]; // 交集 let intersection = arr1.filter(function (val) { return arr2.indexOf(val) > -1 }) // 并集 let union = arr1.concat(arr2.filter(function (.
交集并集差集补集
布史之铭
08-23 2万+
1. 并集 对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。 记作:AUB 读作“A并B” 例:{3,5}U{2,3,4,6}= {2,3,4,5,6} 2. 交集 对于两个给定集合A、B,由属于A又属于B的所有元素构成的集合,叫做A和B的交集。 记作: A∩B 读作“A交B” 例:A={1,2,3,4,5},B={3,4,5,6,8},A∩B={3,4,5} 3. 差集 记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),.
JS数据结构与算法 —— 集合,并集交集补集
知行合一,跬步致远
01-05 1693
概念:集合是由一组无序且唯一(每个元素只出现一次)的项组成的一组数据。其与数学里的集合是同一个概念。在ES6里已经引入了集合的数据结构概念——Set类。 分类:常见的有空集,并集交集差集。 应用场景:1)数据去重;2)用于存储一些独一无二的数据。 js实现一个集合 集合的特性类似于JavaScript数据类型里的Object,Object对象里的每个键都是唯一。下面用一个名为item的...
数组交集并集补集
h_mo_liang的博客
03-17 3605
交集 集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集(intersection),记作A∩B。 并集 给定两个集合A,B,把他们所有的元素合并在一起组成的集合,叫做集合A与集合B的并集,记作A∪B,读作A并B。 补集 一般指绝对补集,即一般地,设S是一个集合,A是S的一个子集,由S中所有不属于A的元素组成的集合,叫做子集A在S中的绝对补集。在集合论和数学的其他分支中,存在补集的两种定义:相对补集和绝对补集。 这样一个需求,原数组arr..
Python - 集合的交集补集差集并集全集
liu_yuan_kai的博客
07-20 4768
一、定义:  set是一个无序且不重复的元素集合。 demo1 = set([1,2,3]) demo2 = set([3,4]) demo3 = set([4]) print(demo1 &amp; demo2) #交集 print(demo1 | demo2) #全集 print(demo1 ^ demo2) #全集减去交集 print(demo1 - demo2) #差集 print(...
求两个数组交集并集差集算法分析与实现
xiexiang881900的专栏
09-02 2501
一、数组内数据无序且可以重复 本文采用一种交换的方式来求出两个数组并集交集差集,这种算法运算速度较快,内存消耗空间较少,是一个值得学习的好方法,另外,作者提醒您,重要的不是算法本身,而是该算法会开拓我们的思维空间,要注意对问题的多思考。 算法概述: 两个任意元素的数组,比较出两个数组中相同的元素和不同的元素。 元素划分: 计算过程中,两个数组内部元素的划分: 算法流程: 从数组1的尚未比较的元素中拿出第一个元素array1(i),用array1(i)与a...
JS计算两个数组交集差集并集补集(多种实现方式)
12-12
方法一:最普遍的做法 使用 ES5 语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器 JavaScript 版本。也不用引入其他第三方库。 1,直接使用 filter、concat 来计算 ...//补集 var e = a.filter(function(v){
JavaScript应用实例-交集_并集_差集_去重(1).js
12-09
JavaScript应用实例-交集_并集_差集_去重(1).js
JS实现的集合去重,交集并集差集功能示例
10-18
主要介绍了JS实现的集合去重,交集并集差集功能,结合实例形式分析了javascript基于数组实现的集合去重、交集并集差集等相关实现技巧,需要的朋友可以参考下
es-aux:JavaScript开发辅助,包含了开发过程中很多场景需要用到的函数
05-17
获取高亮分词模板getHighlight: 获取高亮分词信息数组unionArr: 求数组并集intersectArr: 求数组交集differenceArr: 求数组差集uniqueArr: 基本类型数组去重uniqueKeyInArr: 对象数组单个键值匹配去重...
数组交集并集差集
Wu_Home的博客
11-08 765
let a =[1,2,3] let b =[3,4,5] a-b=[1,2] //差集 b-a=[4,5] //差集 并集 一. let arr1 = [1,2,3,4] let arr2 = [3,4,5,6] function union(arr1,arr2){ let arr = [...arr1,...arr2] let set = new Set...
集合中的(交集并集差集补集,对称差集
热门推荐
wiz_333的博客
12-13 6万+
交集并集差集补集,对称差集
数组交集,并集,差集的操作方法
weixin_52934055的博客
04-16 671
数组交集,并集,差集的操作方法 这星期开发项目中遇到一个项目开发的问题,假设我们有几种通道,每种通道对应几种行为方案,我们根据通道下面的行为去制定策略 假设我们要制定一个策略行为,这个策略行为有五种通道供我们选择,分别为 let arr={ a:[1,2,3], //通道a,以及a所携带的行为 b:[2,3,4], //通道b,以及b所携带的行为 c:[3,4,5], //通道c,以及c所携带的行为 d:[1,3,4,5], //通道d,以及d所携带的行为
并集交集差集补集的概念是什么?
joshua317的博客
02-11 8003
本文为joshua317原创文章,转载请注明:转载自joshua317博客并集交集差集补集的概念是什么? - joshua317的博客 1 并集 记A,B是两个集合,以属于A或属于B的元素为元素的集合称为A与B的并(集),记作A∪B(或B∪A),读作“A并B”(或“B并A”),即A∪B={x|x∈A,或x∈B} 。 2 交集 记A,B是两个集合,以属于A且属于B的元素为元素的集合称为A与B的交(集),记作A∩B(或B∩A),读作“A交B”(或“B交A”),即A∩B={x|x∈A,且x∈B} .
集合的交集并集差集和对称集
最新发布
04-26
在集合中,有几个常用的运算:交集并集差集和对称差。 1. 交集交集是指两个集合中共同存在的元素构成的新集合。用符号表示为∩。例如,如果集合A={1,2,3},集合B={2,3,4},则它们的交集为A∩B={2,3}。 2. ...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 给按钮设置图标的三种方法 26133
  • 解决跨域的两种方案 23534
  • 解决 ORA-28547 连接服务器失败,可能是Oracle Net 管理错误 23353
  • #SpringMVC--理解web.xml中的 url-pattern标签及其使用范围 21442
  • UML建模与软件开发设计(三)——UML常用开发工具 19497

分类专栏

  • 数据库 14篇
  • Java基础 65篇
  • js 5篇
  • Jquery 2篇
  • javaweb 6篇
  • maven 7篇
  • css与效果 2篇
  • springboot 18篇
  • MongoDB 5篇
  • bootstrap 4篇
  • layer和layui 1篇
  • spring、springmvc、mybatis 5篇
  • FreeMarker
  • redis 6篇
  • UML建模与软件开发设计 7篇
  • vue
  • nginx 5篇
  • zookeeper
  • dubbo
  • spring、hibernate、struts 1篇
  • git和svn
  • linux 1篇
  • 数据结构与算法 20篇
  • python
  • websocket
  • webservice
  • spring、springMVC和hibernate 11篇
  • 常见异常及解决 11篇
  • eclipse 9篇
  • JPA 3篇
  • Swagger 5篇
  • 面试题集锦 25篇
  • tomcat 1篇
  • windows下的杂文 1篇
  • 网络编程
  • Java底层原理 18篇
  • Postman
  • Java架构师之性能优化篇 9篇

最新评论

  • UML建模与软件开发设计(七)——时序图设计

    rockConnotation: 写的很好很详细,太6了

  • 解决 ORA-28547 连接服务器失败,可能是Oracle Net 管理错误

    行李叮当: 请受我一拜

  • #2 javascript深入浅出--数组的交集、并集、差集和补集

    三分线扣篮: 差集呢?

  • #架构师之性能优化篇--不要在循环中使用try…catch…,应该把其放在最外层

    catoop: 不能抛开需求谈理论,是否在循环中写 try catch,取决于需求(是否需要中断循环)。而不是取决于所谓的性能要求。

  • #1 mybatis实战系列--动态查询表数据

    单纯的老妖: 后面那个函数是解释的吗》?? 我没有看懂

最新文章

  • 注解原理剖析与实战
  • Java集合深入解析(一)——集合的基本概念
  • UML建模与软件开发设计(七)——时序图设计
2023年1篇
2022年9篇
2019年22篇
2018年112篇
2017年1篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

两个鬼故事马氏起名女孩昵称大全二阶堂红丸商铺怎样起名佛山起名哪里好女装批发店名怎么起星期一便当牛牛在线玩2020年宝宝起名适合什么字游戏交易平台有哪些蒙语翻译黑执事2下载正味记公司起名字大全免费水饺店公司起名字长沙安卓软件商店缺水火起名女人名字汉口文体中心起名字女宝新生婴儿八字起名大全雅多维尔围城战八十大寿祝寿词翁氏起名科技公司起名 新颖创意虾米音乐关停给三句半起名科技公司起名带扬字的良辰多喜欢gta圣安地列斯秘籍八字过硬起名小女孩起名字带木字旁少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化