let list = [
{
id: "1",
content: "A"
},
{
id: "2",
content: "B"
},
{
id: "3",
content: "C"
},
{
id: "4",
content: "D"
}
];
let arr = [
{
id: "1",
content: "C"
},
{
id: "2",
content: "D"
}
]; // let list = [1, 2, 3, 4, 5];
// let arr = [3, 4]; // 去重
function listRemoveRepeat(x) {
let result = [];
for (let i = 0; i < x.length; i++) {
let flag = true;
let temp = x[i];
for (let j = 0; j < result.length; j++) {
// 普通数组 (temp === result[j])
if (temp.id === result[j].id) {
flag = false;
break;
}
}
if (flag) {
result.push(temp);
}
}
return result;
}
// 差集
function listDifference(x, y) {
let clone = x.slice(0);
for (let i = 0; i < y.length; i++) {
let temp = y[i];
for (let j = 0; j < clone.length; j++) {
// 普通数组 (temp === clone[j])
if (temp.id === clone[j].id) {
clone.splice(j, 1);
}
}
}
return listRemoveRepeat(clone);
}
// 并集
function listConcat(x, y) {
return listRemoveRepeat(x.concat(y));
}
// 交集
function listIntersection(x, y) {
let result = [];
for (let i = 0; i < y.length; i++) {
let temp = y[i];
for (let j = 0; j < x.length; j++) {
// 普通数组 (temp === clone[j])
if (temp.id === x[j].id) {
result.push(temp);
break;
}
}
}
return listRemoveRepeat(result);
}
console.log("去重", listRemoveRepeat(list));
console.log("差集", listDifference(list, arr));
console.log("并集", listConcat(list, arr));
console.log("交集", listIntersection(list, arr));

js 实现json数组集合去重,差集,并集,交集。的更多相关文章

  1. 【python】集合 list差集|并集|交集

    两个list差集 list(set(b).difference(set(a))) # b中有而a中没有的 示例: a=[1,2,3] b=[2,3] list(set(a).difference(se ...

  2. JS实现对数组的去重

    JS实现对数组的去重 $scope.validateContect = function(text) { var arr = text; // 若传入的数据为string类型,用逗号分隔 if((ty ...

  3. 前端学习之——js解析json数组

    ** 前端学习之——js解析json数组** 解析json数组即对JSONArray的遍历 一.对于标准的json数组如: var result=[{"flag":1," ...

  4. js 获取json数组里面数组的长度

    作为一个前端页面开发者第一次处理json数据,遇到了‘js 获取json数组里面数组的长度’?竟然不知道 json没有.length属性(真是要嘲讽下自己),少壮不努力老大徒伤悲啊!以前都是去寻求男朋 ...

  5. .NET的求复杂类型集合的差集、交集、并集

    前言 如标题所述,在ASP.NET应用程序开发中,两个集合做比较时 我们使用微软IEnumerable封装的 Except/Intersect/Union 取 差集/交集/并集 方法是非常的方便的: ...

  6. JS实现JSON数组合并和去重

    var a=[{"id":"1001","name":"张三","age":"18&quo ...

  7. JS中json数组多字段排序方法(解决兼容性问题)(转)

    前端对一个json数组进行排序,用户需要动态的根据自己的选择来对json数据进行排序. 由于后台表设计问题所以不能用sql进行排序,这里用到了js的sort方法. 如果对单字段排序,那么很简单,一个s ...

  8. js便利json 数组的方法

    这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var ...

  9. SQL集合运算 差集 并集 交

    SQL-3标准中提供了三种对检索结果进行集合运算的命令:并集UNION:交集INTERSECT:差集EXCEPT(在Oracle中叫做 MINUS).在有些数据库中对此的支持不够充分,如MySql中只 ...

随机推荐

  1. Jquery逐行读取txt 文件

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  2. 秒杀ecshop的前台写shell 0day

    ECSHOP号称最大的开源网店系统,官方是这样介绍它的:“ECShop网店系统是一套免费开源的网上商店软件,无论在稳定性.代码优化.运行效率.负载能力.安全等级.功能可操控性和权限严密性等方面都居国内 ...

  3. spring boot application.properties 属性详解

    2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-appli ...

  4. mysql5.7采坑

    2018年8月21日16:57:16 datetime 类型新默认值不能全部为 0000-00-00 00:00:00date也是新默认值直接date('Y-m-d H:i:s','0');datet ...

  5. Django ORM存储datetime 时间误差8小时问题

    今天使用django ORM 将获取到的时间入库,并未出现问题,但是后来发现时间晚了8小时,经查询Django官方文档发现获取本地时间和UTC时间有差别. 首先科普下:UTC是协调世界时 UTC相当于 ...

  6. jmeter 之变量传递

    最近遇到个问题,一个线程组的变量怎么应用到另一个线程组,试了下,通过提取器设置的变量只能用于当前线程组,不能用于其他线程组,只能试试设置property Parameters,应该还有别的办法这只是其 ...

  7. struct与class的区别

    C++中的struct是对C中struct的扩充,它已经不再只是一个包含不同数据类型的数据结构,因为其扩充了太多功能.总的来说,C++中struct和class极其相似,比如,struct能包含成员函 ...

  8. mybatis模糊查询

    今天遇到一个模糊查询的问题,需求是:根据传入的时间查询当天的所有数据,解决办法是使用$或者contact,具体sql模拟如下: select * from table_name where creat ...

  9. asp.net中的CheckBox控件的使用

    CheckBox控件中的最重要属性就是checked属性了 下面就是使用checked属性的一个小应用; 先建立一个wed窗体:在窗体中写下这些代码: <%@ Page Language=&qu ...

  10. ytkah常用网址导航 关于网站运营等

    关于运营的网站 人人都是产品经理 产品100 爱运营 A5网站运营 姑婆那些事儿 馒头商学院 运营者 91运营网 互联网的一些事 jb51网站运营 三联网站运营 从零开始做运营 ​ 科技/互联网 cn ...