'Compare 2 difference JSON array object [duplicate]
as you can see i have 2 arrays
var obj1 = [
"planet-1",
"planet-2",
"planet-3",
"planet-4"
]
and
var obj2 = [
"planet-1",
"planet-8"
]
i was find something like console.log(obj1 == obj2) will return true using stringify, that is almost close from i need but the problem is my json data not have exactly the same between obj1 and obj2, so when i use code like console.log(obj1) == obj2) the return will always false because of json data not have exactly the same.
so can someone please to help me how to figure it out how to make the result will return true if my "obj2" have atleast 1 or 2 data that the same like "obj1" even i have 1 array that not available in obj1?
im sorry i cant show any code for reference, cause i just find console.log(obj1) == obj2) who really close to what im lookin for.
thanks for helping.
Solution 1:[1]
try this
let difference = obj1.filter(x => !obj2.includes(x));
console.log(difference); // ["planet-2", "planet-3"]
//or
console.log(difference.length > 0); //true
or if you don't know which array is bigger, you can use this code
const isDifferent = function (arr1, arr2) {
let difference = false;
if (arr1.length > arr2.length)
difference = arr1.filter((x) => !arr2.includes(x));
else difference = arr2.filter((x) => !arr1.includes(x));
return difference.length > 0;
};
console.log(isDifferent(obj2,obj1)); // true
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
