js数组中两个数组集合【每个元素都是集合】,取数组1与数组2不同的值

news/2024/7/19 15:58:09 标签: js, 数组

js12_0">js数组中两个数组集合【每个元素都是集合】,取数组1与数组2不同的值

在这里插入图片描述

前提:存在数组A、数组B

1.数组自身去重【A+B的数组集合自身去重】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button type="button" onclick="decode()" style="width: 50px;height: 70px;"></button>
		<script type="text/javascript">
			let arr1 = [{
				"code": "0001",
				"name": "liting",
				"age": 12,
				"school": "宁城一中",
			}, {
				"code": "0002",
				"name": "张三",
				"age": 13,
				"school": "宁城一中",
			}, {
				"code": "0003",
				"name": "晓明",
				"age": 14,
				"school": "宁城一中",
			}, {
				"code": "0006",
				"name": "花花",
				"age": 17,
				"school": "济阳一中",
			},{
				"code": "0007",
				"name": "凯凯",
				"age": 17,
				"school": "济阳一中",
			},{
				"code": "0008",
				"name": "明明",
				"age": 17,
				"school": "济阳一中",
			}]
			let arr2 = [{
				"code": "0001",
				"name": "liting",
				"age": 12,
				"school": "宁城一中",
			}, {
				"code": "0002",
				"name": "张三",
				"age": 13,
				"school": "宁城一中",
			}, {
				"code": "0003",
				"name": "晓明",
				"age": 14,
				"school": "宁城一中",
			}, 
			{
				"code": "0004",
				"name": "芳芳",
				"age": 15,
				"school": "宁城一中",
			},{
				"code": "0005",
				"name": "红红",
				"age": 16,
				"school": "宁城一中",
			},
			]
			console.log(arr1, "arr1");
			console.log(arr2, "arr2");
			// 自身去重
			let conArr = arr1.concat(arr2)
			function unique(arr) {
				let newArr = [arr[0]]
				for (let i = 1; i < arr.length; i++) {
					let repeat = false;
					for (let j = 0; j < newArr.length; j++) {
						console.log(arr[i], "arr[i]");
						console.log(newArr[j], "newArr[j]")
						if (arr[i].code === newArr[j].code) {
							repeat = true;
							break;
						} else {
						}
					}
					if (!repeat) {
						newArr.push(arr[i]);
					}
				}
				return newArr;
			}
			console.log(unique(conArr), "conArr")
		</script>
	</body>
</html>

2.两个数组去重【A-B】|| 【B-A】

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button type="button" onclick="decode()" style="width: 50px;height: 70px;"></button>
		<script type="text/javascript">
			let arr1 = [{
				"code": "0001",
				"name": "liting",
				"age": 12,
				"school": "宁城一中",
			}, {
				"code": "0002",
				"name": "张三",
				"age": 13,
				"school": "宁城一中",
			}, {
				"code": "0003",
				"name": "晓明",
				"age": 14,
				"school": "宁城一中",
			}, {
				"code": "0006",
				"name": "花花",
				"age": 17,
				"school": "济阳一中",
			},{
				"code": "0007",
				"name": "凯凯",
				"age": 17,
				"school": "济阳一中",
			},{
				"code": "0008",
				"name": "明明",
				"age": 17,
				"school": "济阳一中",
			}]
			let arr2 = [{
				"code": "0001",
				"name": "liting",
				"age": 12,
				"school": "宁城一中",
			}, {
				"code": "0002",
				"name": "张三",
				"age": 13,
				"school": "宁城一中",
			}, {
				"code": "0003",
				"name": "晓明",
				"age": 14,
				"school": "宁城一中",
			}, 
			{
				"code": "0004",
				"name": "芳芳",
				"age": 15,
				"school": "宁城一中",
			},{
				"code": "0005",
				"name": "红红",
				"age": 16,
				"school": "宁城一中",
			},
			]
			console.log(arr1, "arr1");
			console.log(arr2, "arr2");			
			// 比较arr与arr1的不同【arr有,arr1没有】
            let repeat = null
			// 两个数组去重
			function unique(arr,arr1) {
				let newArr = []
				for (let i = 0; i < arr.length; i++) {
					repeat = false
					for (let j = 0; j < arr1.length; j++) {
						//比较条件,唯一值相等
						if (arr[i].code === arr1[j].code) {
							repeat = true;
							break;
						}
					}
					if (!repeat) {
						newArr.push(arr[i]);
					}
				}			
				return newArr;
			}
			//arr1与arr2【找arr1中存在,arr2中不存在】
			let uniArr = unique(arr1,arr2)
			console.log(uniArr,"去重")
			//arr1与arr2【找arr2中存在,arr1中不存在】
			let uniArr1 = unique(arr2,arr1)
			console.log(uniArr1,"去重1")
		</script>
	</body>
</html>

http://www.niftyadmin.cn/n/855350.html

相关文章

Nhibernate中CreateSQLQuery用法实例

Nhibernate中CreateSQLQuery用法实例&#xff1a; 涉及的表&#xff1a; Cake{ Id &#xff0c; CakeName 。。。。 } CakeSize{ CakeId&#xff0c;-为外键&#xff0c;对应Cake表的字段Id Size } &#xff08;其中ISession session NHibernateHelper.GetCurrentSession();&a…

两个数组集合取不同的放入另一个集合中

两个数组集合取不同的放入另一个集合中 两个数组 selRow&#xff1a;供选择的文件目录 auFiles&#xff1a;要显示的目录 that.selRow.forEach((item, index) > {console.log("11");let isExistfalseif(that.auFiles.length0){that.auFiles.push(item)}else{conso…

×××

&#xff1a;相当于外部网络的计算机&#xff08;拥有本地的IP&#xff09;加入到本地网络优点&#xff1a;数据通信之间的加密连接方法&#xff1a;1、PPTP:用户级别的ppp协议验证用户2、L2TP&#xff1a;用PPP和IPSec验证&#xff0c;即验证用户和加密数据3、MPPE&#xff1a…

慢慢中毒

最先&#xff0c;我是通过散文迷恋上张爱玲的&#xff0c;后来才知道那只不过是先入为主的原因。直到偶获她的一本小说集《传奇》&#xff0c;才真正发现先前所知实在是冰山一角。与这个谜一般的文学老师太失之交臂&#xff0c;曾一度让我内心发出生不逢时的感叹。后来还是贾平…

2009 happy 牛 year,我也来啦

这个时刻&#xff0c;离2009还有7分钟的时候&#xff0c;我写下这篇日志 很开心&#xff0c;2008&#xff0c;不平凡的一年&#xff0c;我取得的成绩不多&#xff0c;但我很快乐。 此时此刻&#xff0c;我其实是醉了的&#xff0c;今晚喝了很多&#xff0c;和很多好朋友&#x…

建行、工行、农行、招行、中信、民生银行房贷利率七折优惠细则

在网上看到一篇关于银行房贷利率七折优惠细则的文章转给大家&#xff0c;希望对大家有用&#xff1a; 2009年伊始&#xff0c;“放松存量房贷优惠政策”成为各大银行被争相关注的焦点。那么&#xff0c;各家银行到底做何反应了呢&#xff1f;新浪房产特为广大网友做一收集整理。…

Python在eclipse中编写环境的配置

第一次用CSDN来记录自学内容,可能有些部分写的不到位,请大家多多指出不正确的地方,也希望有一些对Python感兴趣的小伙伴和我一起学习Python,一起加油! Python的安装: 下载地址:https://www.python.org/ 在windows 64-86位下载: 下载后点击运行安装,具体可以参考Pyt…

Tip #2 - 样式应用工具(style application toolbar)

使用样式应用工具(style application toolbar)栏可以自动创建、修改样式。这个工具栏有“自动”和“手动”两个模式。自动模式是为不熟悉CSS的人设计的&#xff0c;这种模式下由Visual Studio来控件新生成的样式放哪里。手动模式是给有经验的用户准备的。手动模式下用户可以通过…