js找出两个数组相同的和不同的数据并且执行操作

找出两个数组相同的和不同的数据

老生常谈的问题(两个数组中的相同或者不同的数据)

//下面是一个例子


	let oneArr = [{
				"specs": "s",
			}, {
				"specs": "x",
			},
			{
				"specs": "xm",
			},
			{
				"specs": "xxl",
			}
		]

		let twoarr = [{
				"spec_name": "xm",
			},
			{
				"spec_name": "xxl",
			}, {
				"spec_name": "mm",
			}
		]

		//以最新的数据为外层循环(也就是总的数据),来查找有的数据和没有的数据
		let reArr = [];
		oneArr.map((item, i) => {
			twoarr.map((info, index) => {
				if (info.spec_name == item.specs) {
					reArr.push({
						specs: info.spec_name
					});
				}
			})
		})

		console.log('重合数据:');
		console.log(reArr);
		//找寻不同的数据
		if (reArr.length == oneArr.length) {
			console.log('不必操作数据');
		} else {
			const result = oneArr.filter(i1 => {
				return !reArr.find(i2 => i1.specs == i2.specs)
			});
			console.log('总数据里有的而新数据里面没有的:')
			console.log(result);
			//然后执行相应的操作
			// --------
		}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乔的大明

您的鼓励,我会库库更更。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值