Используя только JavaScript, и только для этого и подобных примеров
var a1 = [[11,12],[11,13],[11,14], [12,13]];
var a2 = [[11,13],[14,11]];
var a3 = a1.filter(ar1 => !a2.some(ar2 => ar1.every(n1 => ar2.includes(n1))))
console.log(a3); // [[11,12],[12,13]]
Есть слишком много критериев, чтобы создать общее решение.
Например, [11,12] то же, что и [12,11], возможно, ссылки на один и тот же массив равны (ar1 === ar2)
как true
. Что делать, если в одном и том же массиве есть две одинаковые записи, а в другом - вы отфильтровываете один или сохраняете его? Количество вопросов может продолжаться в течение некоторого времени, и становится все хуже, чем глубже вложенность и тем больше количество типов, хранящихся в массиве.
var a1 = [[11,12],[11,13],[11,14], [12,13]]
var a2 = [[11,13],[14,11],[12,14]];
a3 = [];
[[a1,a2],[a2,a1]].forEach(a=>{
a3.push(...a[0].filter(
ar1 => !a[1].some(
ar2 => ar1.every(
n1 => ar2.includes(n1)
)
)
))
});
console.log("[["+a3.join("], [")+"]]")
Есть много дискуссий на массив сравнить здесь: http://stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript .. решение будет быть расширением к нему –
Они оба названы 'arr1': | –