Шпаргалка для работы с массивами в JavaScript ES6+.seapp88Пересечение даст нам элементы, которые объединяют оба массива, в этом случае результат должен быть [1,5].let intersection = arrA.filter(x => arrB.includes(x));Разность будет выводить элементы из массива A, которых нет в массиве B. Результат будет [3,4].let difference = arrA.filter(x => !arrB.includes(x));В этом случае вы получите массив, содержащий все элементы arrA, которых нет в arrB, и наоборот, так что результат должен быть [2,3,4,6,7].let difference = arrA.filter(x => !arrB.includes(x)).concat(arrB.filter(x => !arrA.includes(x))); seapp88Объединение должно быть самым простым из них всех, в конце концов, результатом должны быть все элементы из A, все из B или оба, как это [1,2,3,4,5,6,7].let union = [...arrA, ...arrB];Но есть проблема в том, что мы получим дублированные элементы, так что теоретически это не объединение. Для этого мы можем использовать new Set():let union = [...new Set([...arrA, ...arrB)];
Отличная шпора! Спасибо!
Спасибо за обратную связь)
а как в примере с пересечениями вывести только уникальные значения? допустим если в одном из массивов 2 раза цифра "5" встречается но мне нужно лишь раз ёё вывести?
Нашли ответ на этот вопрос? Тоже интересует
А ведь если в исходных массивах есть повторяющиеся элементы, то Set недобрую службу сослужит..
Например?
В поледнем примере есть опечатка(
Должно быть так:
let union = [...new Set([...arrA, ...arrB])];