//input:[{name:'liujinyu'},{name:'noah'}]
//output:['liujinyu','noah'] Array.prototype.choose = function(key){
var tempArr = [];
this.forEach(function(v){
tempArr.push(v[key])
});
return tempArr;
}
//并集
//[1,2,3].union([3,4]) output:[1,2,3,4]
Array.prototype.union = function(arr){
var tempArr = this.slice();
arr.forEach(function(v) {
!tempArr.includes(v) && tempArr.push(v)
});
return tempArr;
}

a = [1,2,3] ;  b = [3,4]

差集:

a.concat(b).filter(v => a.includes(v) ^ b.includes(v))  // [1,2,4]

并集:

var tempArr = a.slice() ;

b.forEach(v => {!tempArr.includes(v) && tempArr.push(v)})   //tempArr=[1,2,3,4]

交集:

a.filter(v => b.includes(v))

去重

方法一:

var tempArr = [] ;

arr.filter(v=>tempArr.includes(v)?false:tempArr.push(v))

方法二:

var arr = [1, 2, 2, 4, 4];
// 使用Set将重复的去掉,然后将set对象转变为数组
var mySet = new Set(arr); // mySet {1, 2, 4} // 方法1,使用Array.from转变为数组
// var arr = Array.from(mySet); // [1, 2, 4] // 方法2,使用spread操作符
var arr = [...mySet]; // [1, 2, 4] // 方法3, 传统forEach
var arr2 = [];
mySet.forEach(v => arr2.push(v));

多维转一维

var arr = [1,[2,[[3,4],5],6]];
function unid(arr){
var arr1 = (arr + '').split(',');//将数组转字符串后再以逗号分隔转为数组
var arr2 = arr1.map(function(x){
return Number(x);
});
return arr2;
}
console.log(unid(arr));

js 数组 : 差集、并集、交集、去重的更多相关文章

  1. js 数组 : 差集、并集、交集、去重、多维转一维

    //input:[{name:'liujinyu'},{name:'noah'}] //output:['liujinyu','noah'] Array.prototype.choose = func ...

  2. js取两个数组的交集|差集|并集|补集|去重示例代码

    http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一 ...

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

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

  4. 小姐姐手把手教你JS数组中的对象去重

    有时候数据库中的数据重复的,我们另一个需求需要数据的唯一性 那么这时候就用到这个方法了  我还是以截图的方式发粗来  不然太丑了 见谅 console.log(map)打印出来的结果已经帮我们把需要的 ...

  5. JS数组的交集、并集、差集,数组去重,获取两个数组重复的元素,去除两个数组相同的元素

    let arr1=[1,2,3,4,5,6] let arr2=[4,5,6,7,8,9] // 并集 数组去重 let RemoveSame=[...new Set([...arr1,...arr2 ...

  6. JS 对象 数组求并集,交集和差集

    一.JS数组求并集,交集和差集 需求场景 最近,自己项目中有一些数组操作,涉及到一些数学集的运算,趁着完成后总结一下. 简化问题之后,现有两数组a = [1, 2, 3],b = [2, 4, 5], ...

  7. 【转】 js数组 Array 交集 并集 差集 去重

    原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上, ...

  8. JS数组操作:去重,交集,并集,差集

    原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...

  9. js数组并集,交集,差集

    js数组并集,交集,差集的计算方式汇总 一. new Set 方式实现 这种方式实现起来比较简单,原理就是参考new Set可以去重的功能 ,关于去重可以点击 https://www.haorooms ...

随机推荐

  1. Unknown tag (s:property).

    Unknown tag (s:property). 在jsp文件中加入此句话:<%@ taglib uri="/struts-tags" prefix="s&quo ...

  2. XML基本语法

    本节要点: 了解XML的文档声明 了解XML的元素.命名规则.属性.元素内容.处理指令等概念 1   XML文档声明 表示该文档是一个XML文档,以及遵循哪个XML版本的规范. 规范:<?xml ...

  3. [Linux]第三部分-学习Shell和Shell脚本

    vim 高级的 vii o a 进入编辑模式 esc进入一般模式:wq离开alias vi='vim' 使用vim打开viv块选择 y复制反白,d删除反白在vi中打开一个文件后,可以使用 sp fil ...

  4. HDU 2815

    特判B不能大于等于C 高次同余方程 #include <iostream> #include <cstdio> #include <cstring> #includ ...

  5. chrome打开网址但是没有地址栏

    chrome打开网址但是没有地址栏 C:\Users\Administrator>C:\Users\Administrator\AppData\Local\Google\Chrome\Appli ...

  6. [HTML5] aria-label & aria-labelledby

    'aria-labelledby' overwrite 'aria-label' overwirte native element label. TOP-LEFT: aria-label overwr ...

  7. HDU1237 简单计算器 【栈】+【逆波兰式】

    简单计算器 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. c7---函数

    // // main.c // 函数练习 // // Created by xiaomage on 15/6/7. // Copyright (c) 2015年 xiaomage. All right ...

  9. php的异步并行扩展swoole

    Swoole是PHP的异步并行扩展,有点像Node.js,但swoole既支持同步又支持异步,比node更强大.Swoole扩展是基于epoll高性能事件轮询,并且是多线程的,性能非常好. Swool ...

  10. 3. Longest Substring Without Repeating Character[M] 最大不重复子串

    题目 Given a string, find the length of the longest substring without repeating characters. Example 1: ...