最近在小一个小程序项目,突然发现 javscript 对数组支持不是很好,连这些基本的功能,都还要自己封装.网上查了下,再结合自己的想法,封装了一下,代码如下.

//数组交集
Array.prototype.intersect  = function(){let mine = this.concat();for (var i = 0; i < arguments.length; i++) {mine.map(function (value, index) {if (!this.includes(value)) delete mine[index];}, arguments[i]);}return mine.filter(v => v);
};//数组差集:返回在当前数组中,但不在其他数组中的元素
Array.prototype.minus = function(){let mine = this.concat();for (var i = 0; i < arguments.length; i++) {mine.map(function (value, index) {if (this.includes(value))  delete mine[index];}, arguments[i]);}return mine.filter(v => v);
};//过滤数组重复元素
Array.prototype.unique = function(){let result = [];this.map(function (value, index) {if (!this.includes(value))   this.push(value);}, result);return result;
};//数组并集
Array.prototype.union = function(){let result = this.concat();for (var i = 0; i < arguments.length; i++) {arguments[i].map(function (value, index) {if (!this.includes(value))   this.push(value);}, result);}return result;
};[1, 2, 3, 2, 1].unique();
[1, 2, 3].intersect([1, 2, 8], [1, 2, 6], [1, 2, 3]);
[1, 2, 3].minus(["aaaa",  2], [  "cccc", 1]);
[1, 2, 3].union(["Robin", "aaaa", "bbbb"], ["aaaa", "cccc"]);

转载于:https://www.cnblogs.com/zbseoag/p/9952513.html

javascript 数组求交集/差集/并集/过滤重复相关推荐

  1. java8 stream流操作集合交集,差集,并集,过滤,分组,去重,排序,聚合等

    测试对象 public class Person {private String name;private Integer age;private Integer weight;public Pers ...

  2. python中交集并集用什么符号表示_Python实现两个list求交集,并集,差集的方法示例...

    本文实例讲述了Python实现两个list求交集,并集,差集的方法.分享给大家供大家参考,具体如下: 在python中,数组可以用list来表示.如果有两个数组,分别要求交集,并集与差集,怎么实现比较 ...

  3. Linux 两个文件求交集、并集、差集

    Linux 两个文件求交集.并集.差集 原文地址: Linux 两个文件求交集.并集.差集 (https://www.cnblogs.com/molong1208/p/5358509.html) 一. ...

  4. 求两个数组的交集和并集

    晚上闲来无事,想起前两天查资料时候,看到别人一篇博客标题关于数组的交集和并集,晚上也随便写写,权当督促自己坚持经常练习练习写写小Demo.如下,先来一段求有序数组的交集的代码,代码如下: public ...

  5. C/C++语言实现一百个数组之间求任意数组的交集和并集

    1:背景要求 1.C++ 2.给定一百个数组,求任意两个集合之间的交集和并集(最好能按照学生的方式做,不被发现的那种)撰写设计书,主要内容包括(500-1000字): ①背景介绍或实验目的: ②功能设 ...

  6. LeetCode 2248、多个数组求交集

    2248.多个数组求交集 1)题目描述 给你一个二维整数数组 nums ,其中 nums[i] 是由 不同 正整数组成的一个非空数组,按 升序排列 返回一个数组,数组中的每个元素在 nums 所有数组 ...

  7. C++二个数组求交集的实现算法(附完整源码)

    C++二个数组求交集的实现算法 C++二个数组求交集的实现算法完整源码(实现,main函数测试) C++二个数组求交集的实现算法完整源码(实现,main函数测试) #include <iostr ...

  8. 腾讯实习笔试:关于几个有序数组求交集的问题

    题目就是假设有三个有序数组对其求交集,要求算法空间复杂度必须小,有序数组量会比较大. 解法: 第一种就是用二分法查找,二分法查找的效率是log(n),两个数组求交集就是n1log(n2),当n1远小于 ...

  9. 【leetcode】2248. 多个数组求交集(js实现)

    1. 题目 2248. 多个数组求交集 2. 思路 先找到一个参考集合set1 去遍历nums中的每一个数组,并遍历数组中的每一个元素,依次求两个集合的交集,并将得到的交集赋值给参考集合set1 最后 ...

最新文章

  1. 查看mysql主外键信息
  2. echarts树图控件分析
  3. oracle数据库swap占用率高,Oracle数据库所在服务器swap严重
  4. 混合列压缩(HCC)在OLAP及OLTP场景中的测试
  5. oracle怎么删除存储,删除Oracle分区存储是一个怎样的过程?
  6. 游戏编程精粹学习 - 使用定点颜色插值模拟实时光照
  7. Pwn2Own 2020 曝出的Linux 内核漏洞已修复
  8. 我的面试准备过程--队列与栈(更新中)
  9. 蓝桥杯-明码 bitset初识
  10. vivo手机进入9008模式(vivo x7测试)
  11. pythonppt生成替换_python生成ppt的方法
  12. 第二十五届全国青少年信息学奥林匹克联赛初赛
  13. FUZ 1759 Super A^B mod C (指数循环节/模板)
  14. 关于Kaggle入门,看这一篇就够了
  15. 团队管理的四大挑战——裁人篇
  16. SQL数据库msdb置疑(急)
  17. 自动化(四)appium真机远程控制和远程群控
  18. 关于Linux下通过ping/mtr 长期监控网络输出日志报告的一些笔记
  19. 【Docker篇】Docker镜像加载原理,UnionFS(联合文件系统),镜像Commit
  20. 网络工程师成长日记373-李宁公司项目

热门文章

  1. [P1580] yyy loves Easter_Egg I
  2. daterangepicker双日历插件的使用
  3. 想办法解决window刷新的问题
  4. ubuntu14.04不能安全卸载移动硬盘
  5. [转]使用C#开发ActiveX控件
  6. Oracle 关于事物的描述
  7. HDU 1874 最直接的最短路径问题
  8. VS2012无法安装cocos2d-x-2.1.4 解决方法及VS2012新建coco2d-x项目(一)
  9. 1. ThreadPoolExecutor的一个常用的构造方法
  10. MongoDB基础使用