php简述一下并集交集差集,总结了一下js中的差集、交集、并集
前言
总结了一下有关于数组的差集、交集、并集的方法;
es6的方法实现
去重
/**
* 简单的数组去重
* @param {Array} a
*/
const uniquelize = function(a) {
if (a.constructor !== Array) {
throw TypeError("请传入数组类型");
}
return Array.from(new Set(a));
};
并集
/**
* 简单数组的并集
* @param {Array} a
* @param {Array} b
*/
const getUnion = function(a,b){
if(a.constructor === Array && b.constructor === Array){
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1,...set2]));
}
return null;
}
交集
/**
* 简单数组的交集
* @param {Array} a
* @param {Array} b
*/
const getIntersect = function(a,b){
if(a.constructor === Array && b.constructor === Array){
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter( x => set2.has(x))));
}
return null;
}
差集
/**
* 简单数组的差集
* @param {Array} a
* @param {Array} b
*/
const getDifference = function(a,b){
if(a.constructor === Array && b.constructor === Array){
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter(x => !set2.has(x))));
}
return null;
}
es5的方法实现
去重
/**
* 简单的数组去重
* @param {Array} a
*/
var uniquelize = function(a) {
if (a.constructor !== Array) {
throw TypeError("请传入数组类型");
}
var obj = {},
arr = [];
for (var i = 0, j = a.length; i < j; i++) {
if (!obj[a[i]]) {
obj[a[i]] = 1;
arr.push(a[i]);
}
}
return arr;
};
交集
/**
* 简单数组的交集
*/
var getIntersect = function(){
var arr = new Array();
var obj = new Object();
var arguLen = arguments.length;
for(var i = 0; i
if(arguments[i].constructor !== Array){
throw TypeError("请都传入数组类型");
}
for(var j = 0,length = arguments[i].length;j
var item = arguments[i][j];
if(!obj[item]){
obj[item] = 1;
}else{
obj[item]++;
if(obj[item]===arguLen){
arr.push(item);
}
}
}
}
return arr;
}
并集
/**
* 简单数组的并集
*/
var getUnion = function(){
var arr = new Array();
var obj = new Object();
var arguLen = arguments.length;
for(var i = 0; i
if(arguments[i].constructor !== Array){
throw TypeError("请都传入数组类型");
}
for(var j = 0,length = arguments[i].length;j
var item = arguments[i][j];
if(!obj[item]){
obj[item] = 1;
arr.push(item);
}else{
//统计一下出现了多少次
obj[item]++;
}
}
}
return arr;
}
差集
/**
* 简单数组的差集
*/
var getDifference = function(){
var arr = new Array();
var obj = new Object();
var arguLen = arguments.length;
for(var i = 0; i
if(arguments[i].constructor !== Array){
throw TypeError("请都传入数组类型");
}
for(var j = 0,length = arguments[i].length;j
var item = arguments[i][j];
if(!obj[item]){
obj[item] = 1;
arr.push(item);
}else{
obj[item]++;
var index = arr.indexOf(item);
//存在就删除掉
if(index !== -1){
arr.splice(index,1);
}
}
}
}
return arr;
}
php简述一下并集交集差集,总结了一下js中的差集、交集、并集相关推荐
- oracle关联查询取交集,Oracle 取两个表中数据的交集并集差异集合
Oracle 作为一个大型的关系数据库,日常应用中往往需要提取两个表的交集数据 例如现有如下表,要求找出工资2500(不含2500)以上并且是男性(M)的员工编号,那么就要利用这两个表的关系做一个交集 ...
- Python求两个list的交集、并集、差(补)集、对称差集的方法
Python求两个list的交集.并集.差(补)集.对称差集的方法 摘要 1. 总结 1.1 求两个list的交.并.差(补).对称差集 - 使用set集合运算符 1.2 求两个list的交.并.差( ...
- 站长在线Python精讲:Python中集合的交集、并集、差集和对称差集运算方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中集合的交集.并集.差集和对称差集运算方法详解>.主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集. ...
- 在EXCEL中取出有交集的数据列
在EXCEL中取出有交集的数据列 Sub SQL_Excel_2010() 'On Error Resume Next '如果出bai现错误,忽略,然后执行下一行代码 Application.Scre ...
- 简述JS中THIS的指向?
这里是修真院前端小课堂,每篇分享文从 八个方面深度解析前端知识/技能,本篇分享的是: [简述JS中THIS的指向?] 大家好,我是IT修真院武汉分院web第16期的学员孟晨,一枚正直纯洁善良的web程 ...
- 打印出两个set中差集_Java之两个Set集合的交集、差集和并集
一.求交集 注:场景是读取两个文件,把文件内容放到Set中,求两个文件之间的共同元素.在这里只写对Set的操作. public static void main(String[] args) thro ...
- python两个列表的差集_Python求两个list的差集、交集与并集的方法
本文实例讲述了Python求两个list的差集.交集与并集的方法.分享给大家供大家参考.具体如下: list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以 ...
- Java中求集合交集、并集、差集
前言 如果是自定义类,需要重写equals方法,如果使用Set集合,还需要重写hashCode方法:如下以User为例子: public class User{private Integer id;p ...
- python两个list取交集_使用 Python 获取两个列表的交集、并集、差集的常用方法 | Jin''''s Blog...
在数据处理中经常需要使用 Python 来获取两个列表的交集,并集和差集.在 Python 中实现的方法有很多,我平时只使用一两种我所熟悉的,但效率不一定最高,也不一定最优美,所以这次想把常用的方法都 ...
最新文章
- html页面引入另一个html页面
- linux c 通过 /proc 获取 pid 进程 列表
- (J2EE学习笔记)解决Hibernate删除异常:deleted object would be re-saved by cascade
- SVN基本的理解和使用
- C++ 虚函数经典深入解析
- mysql中的锁的指令_mysql中的锁
- 工业大数据分析综述:模型与算法
- 高斯消元(二)——竞赛题目中异或和的高斯消元
- [转】Python--遍历列表时删除元素的正确做法
- 学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
- 用winformz时间格式不正确_煮八爪鱼,有人用冷水,有人用开水,大厨:都不对,教你正确做法...
- PHP 开源搜索引擎Yioop! 0.80 发布
- cad 打开硬件加速卡_CAD:“你的图纸缺少shx字体!”不知道该怎么办?不存在的!...
- OpenGL学习笔记:GLAD和第一个窗口
- 命令启动oracle实例,【单选题】启动oracle数据库实例的命令是
- 支撑起SNS的六度分隔理论和150法则
- 手把手教你---猿如意之八大高效利器使用
- 业余草网站热门关键字
- MATLAB代码:基于多目标遗传算法的分布式电源选址定容研究
- JSP用户登录连接数据库
热门文章
- MySQL(9)主从复制与读写分离
- Linux 查询 OS、CPU、内存、硬盘信息
- ln -s命令 linux,linux ln命令详解
- java获取当前时间戳_Java DateTime 获得当前 Unix 的时间戳
- std::string 收缩到合适大小_如何选择合适的自动伸缩门尺寸-深圳自动伸缩门供应商...
- P1083 借教室(差分+二分)
- 叮咚!您收到一份2021知位停车新品发布会暨合作伙伴大会邀请函
- 首个进入Gartner领导者象限的中国数据库要开发布会了!
- 蚂蚁王益:Go+ 可有效补全 Python 的不足
- 从零开始入门 K8s:深入剖析 Linux 容器