找出两个数组相同的和不同的数据
老生常谈的问题(两个数组中的相同或者不同的数据)
//下面是一个例子
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);
//然后执行相应的操作
// --------
}