Я перечислил примеры ниже.Один использует Include, другой использует indexof.Internet Explorer не поддерживает включает https://caniuse.com/#feat=array-includes, поэтому, если вам требуется поддержка всех браузеров, используйте indexof.Смотрите код ниже.
var arr1 = [
{
id: 1,
name: "aa"
},
{
id: 2,
name: "aa"
},
{
id: 3,
name: "aa"
}
];
var arr2 = [1,3];
// Using Includes
function compareArrays(arr1, arr2) {
for(var i = 0; i < arr1.length; i++) {
if(!arr2.includes(arr1[i].id)) {
return false;
}
}
return true;
}
// One thing to note, includes is not supported by internet explorer, so you have to use indexof. Example below.
function compare(arr1, arr2) {
for(var i = 0; i < arr1.length; i++) {
if(arr2.indexOf(arr1[i].id) === -1) {
return false;
}
}
return true;
}
console.log(compareArrays(arr1, arr2));
console.log(compare(arr1, arr2));