var a = [1,2,3,4,5]
var b = [2,3,4,6,7]
function func(arr1,arr2){
var arr = [];
var bool = false;
for(var i=0;i<arr1.length;i++){
for(var j=0;j<arr2.length;j++){
//进行优化遇到相同直接跳出循环 同时支持对象比对
if(JSON.stringify(arr1[i])===JSON.stringify(arr2[j])){
bool = false;
break;
}else{
bool=i;
}
}
if(bool!==false)arr.push(arr1[bool]);
}
return arr;
}
console.log(func(a,b))//[1,5]
console.log(func(b,a))//[6,7]
//还可以对比数组里的对象
var json1 = [{name:1},{name:2},{name:["a","j"]},{name:{id:1}}]
var json2 = [{name:2},{name:3},{name:["a","j"]}]
console.log(func(json1,json2))//{name:1},{name:{id:1}}
console.log(func(json2,json1))//[{name:3}]
JS中如何比较两个数组,取得数组二相对于数组一新增和去除的元素
最新推荐文章于 2025-05-12 18:59:58 发布