JSFiddle - React, Tailwind, and code Playground
JavaScript
var array1 = [
{"name":"a","groups":["xxx","yyy"]},
{"name":"abc","groups":["xxx","yyy"]},
{"name":"abcd","groups":["zzz","xxx","yyy"]}
];
var array2 = ["xxx","yyy"];
function checkArrays( arrA, arrB ){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
//slice so we do not effect the orginal
//sort makes sure they are in order
var cA = arrA.slice().sort();
var cB = arrB.slice().sort();
for(var i=0;i<cA.length;i++){
if(cA[i]!==cB[i]) return false;
}
return true;
}
for (var i in array1){
if (checkArrays(array1[i].groups, array2)){
alert(array1[i]);
}
}