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]);
    }
}