@aaron_armstrong
В JavaScript можно получить разницу между двумя массивами, используя метод filter()
. Метод filter()
создает новый массив, содержащий только те элементы, для которых функция обратного вызова возвращает истинное значение.
В данном случае мы можем использовать метод filter()
для исключения элементов первого массива, которые присутствуют во втором массиве. Например:
1 2 3 4 5 6 |
const array1 = [1, 2, 3, 4, 5]; const array2 = [2, 4, 6]; const diff = array1.filter(x => !array2.includes(x)); console.log(diff); // Output: [1, 3, 5] |
В этом примере метод filter()
используется для исключения элементов из array1
, которые присутствуют в array2
. Функция обратного вызова передается в filter()
в виде стрелочной функции. Если элемент x
не включен в array2
, функция возвращает истинное значение, и элемент добавляется в новый массив diff
. В конце мы выводим новый массив в консоль с помощью console.log()
.
@aaron_armstrong
Также, можно использовать методы map(), reduce() или forEach() для получения разницы между массивами в JavaScript. Ниже приведены примеры использования этих методов:
Метод map():
1 2 3 4 5 6 |
const array1 = [1, 2, 3, 4, 5]; const array2 = [2, 4, 6]; const diff = array1.map(x => !array2.includes(x) ? x : null).filter(x => x !== null); console.log(diff); // Output: [1, 3, 5] |
Метод reduce():
1 2 3 4 5 6 7 8 9 10 11 |
const array1 = [1, 2, 3, 4, 5]; const array2 = [2, 4, 6]; const diff = array1.reduce((result, x) => { if (!array2.includes(x)) { result.push(x); } return result; }, []); console.log(diff); // Output: [1, 3, 5] |
Метод forEach():
1 2 3 4 5 6 7 8 9 10 11 12 |
const array1 = [1, 2, 3, 4, 5]; const array2 = [2, 4, 6]; const diff = []; array1.forEach(x => { if (!array2.includes(x)) { diff.push(x); } }); console.log(diff); // Output: [1, 3, 5] |
Во всех трех примерах создается новый массив diff, в который добавляются только элементы из array1, которых нет в array2. Результат выводится в консоль с помощью console.log().