'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