取出两个二维数组中不重复的数组值方法

 1 var arr1=[
 2     [1,2,3,4,5],
 3     [1,2,3,4,5],
 4     [12,3,4],
 5     [6,7,8],
 6     [32,2]
 7 ];
 8 var arr2=[
 9     [1,2,3,4,5],
10     [6,7,8],
11     [6,7,8],
12     [15,16]
13 ];
14 console.log(fillterArr(arr1,arr2));// ["12,3,4"] ["15,16"] ["32,2"]

方法:

 1 function fillterArr(arr1,arr2){
 2
 3     var arr11=stringTo(arr1);
 4     var arr22=stringTo(arr2);
 5     function stringTo(ar){
 6         var arr=[];
 7         for(var i=0;i<ar.length;i++){
 8             arr.push(ar[i].toString());
 9         }
10         return arr;
11     }
12     function unique(arr){
13         // 遍历arr,把元素分别放入tmp数组(不存在才放)
14         var tmp = new Array();
15         for(var i in arr){
16         //该元素在tmp内部不存在才允许追加
17             if(tmp.indexOf(arr[i])==-1){
18                 tmp.push(arr[i]);
19             }
20         }
21         return tmp;
22     }
23     function GetRepeatFwxmmc(ary1){
24       var ary = ary1.sort();//数组排序
25       var cffwxmsAry = new Array();
26       //所有重复元素添加进新数组内
27       for(var i=0;i<ary.length;i++){
28         if (ary[i]==ary[i+1]){
29           cffwxmsAry.push(ary[i]);
30         }
31       }
32       var result = [], isRepeated;
33       //对重复元素数组进行元素去重
34       for (var k = 0; k < cffwxmsAry.length; k++) {
35         isRepeated = false;
36         for (var j = 0;j < result.length; j++) {
37           if (cffwxmsAry[k] == result[j]) {
38             isRepeated = true; break;
39           }
40         }
41         if (!isRepeated) {
42           result.push(cffwxmsAry[k]);
43         }
44       }
45       return result;
46     }
47     var arr1111=unique(arr11);
48     var arr2222=unique(arr22);
49
50     var arr01=arr1111.concat(arr2222);
51     //重复的数组值
52     var arr02=GetRepeatFwxmmc(arr01);
53     function getData(a,b){
54
55         var c=[];
56         var arr00=[];
57         for(var i in a){
58         c[a[i]]=a[i];
59         }
60         for(var i in b){
61         if(c[b[i]]){
62         delete c[b[i]];
63         }else{
64         c[b[i]]=b[i];
65         }
66         }
67         for(var i in c){
68             arr00.push(c[i].split())
69         }
70         return arr00;
71     }
72
73     return getData(arr01,arr02);
74 }

原文地址:https://www.cnblogs.com/studyshufei/p/8443531.html

时间: 2024-08-03 07:17:03

取出两个二维数组中不重复的数组值方法的相关文章

《两个二维数组(矩阵)相乘》

1 //两个二维数组相乘 2 #include<stdio.h> 3 #include<stdlib.h> 4 #define M 2 5 #define N 3 6 //#define P 6 7 void main() 8 { 9 int i,j,k; 10 //二维数组A和B求乘积,积放在数组C中 11 int A[M][N],B[N][M],C[M][M]; 12 //输入二维数组A的元素的值 13 printf("请输入矩阵A的元素:"); 14 fo

《两个二维数组相加》

1 //两个二维数组相加 2 #include<stdio.h> 3 #include<stdlib.h> 4 #define M 3 5 #define N 4 6 void main() 7 { 8 int i,j; 9 //二位数组A和B求和,和放在数组C中 10 int A[M][N]; 11 int B[M][N]; 12 int C[M][N]; 13 for(i=0;i<M;i++) 14 { 15 for(j=0;j<N;j++) 16 { 17 sca

微信两个二维码无法在同一视窗中扫描——每周汇总(第二期)

接到一个运营页的需求,一开始设计的是两个二维码横着排列在页面上,切完图后发现在手机上点击图片扫一扫只能扫其中的一个,一开始以为是图片的问题,后来尝试换成上下排列还是不行,查阅网上资料后才发现这是微信导致的. 微信识别二维码的原理大概是,点击屏幕时截取了屏幕,然后扫描了截图中的二维码 解决办法:两个二维码不出现在同一个屏幕里,我采取的是只加一个二维码

in查询和两个二维数组的拼接

1.当某个教练查看自己学员的时候,可以通过获取学员身份证号,然后在怎么通过不同的身份证号获取学员的登录名(可用视图实现,userinfo表和studentinfo表进行拼接) 解决: functionarrTostr ($arr)//把二维数组转化为字符串 { foreach ($arr as $v) { $v = join(",",$v); //可以用implode将一维数组转换为用逗号连接的字符串 $temp[] = $v; } $t=""; foreach($

二维坐标轴中绘三维图形

代码部分 CRect rect; GetClientRect(rect);  pDC->SetMapMode(MM_ANISOTROPIC);  pDC->SetWindowExt(rect.Width(), rect.Height());  pDC->SetViewportExt(rect.Width(), -rect.Height());  pDC->SetViewportOrg(rect.Width()/2, rect.Height()/2); CRect rect1(CPo

javascript 判断数组中的重复内容的两种方法 by FungLeo

javascript 判断数组中的重复内容的两种方法 by FungLeo 前言 一般,我们可能会给数组去重,这个操作并不复杂,执行一个循环就是了.现在,我要做的是,判断数组中是否有重复的内容,如果有,返回 true 否则,返回 false. 思路 把数组变成字符串 循环原数组,拿每一个字段和这个字符串进行比对,看是否有重复 如何拿A字符串和B字符串进行对比,并且要求判断出B字符串中包含过个A字符串呢? 方法一 indexOf() 和 lastIndexOf() 对比法. 首先,我们构建代码:

[LeetCode] Remove Duplicates from Sorted Array II 有序数组中去除重复项之二

Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array A = [1,1,1,2,2,3], Your function should return length = 5, and A is now [1,1,2,2,3]. 这道题是之前那道Remove Duplicates from Sorted Array 有序数组中

[LeetCode] 80. Remove Duplicates from Sorted Array II ☆☆☆(从有序数组中删除重复项之二)

https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/discuss/27976/3-6-easy-lines-C%2B%2B-Java-Python-Ruby 描述 Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array A = [1,1

26、删除有序数组中的元素,数组仍然有序

删除有序数组中的元素,数组仍然有序 方法一: 删除一个有序数组的一个元素,采用两个数组实现 代码实现: /* 2017年6月19日16:16:31 功能:删除数组中一个数据之后数组依然有序 */ #include"stdio.h" #define M 9 int main() { int a[M] = {1,2,3,4,5,6,7,8,9}; int b[M-1]; int i, j, num; bool flag; printf("请输入将要删除的数据的数值:")