@otha_marks
В JavaScript есть несколько способов получить разницу между двумя массивами. Рассмотрим два массива arr1
и arr2
.
1 2 3 4 |
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4, 5, 6, 7]; const diff = arr1.filter(item => !arr2.includes(item)); console.log(diff); // [1, 2] |
1 2 3 4 |
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4, 5, 6, 7]; const diff = arr1.filter(item => arr2.indexOf(item) === -1); console.log(diff); // [1, 2] |
1 2 3 4 5 6 7 8 9 |
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4, 5, 6, 7]; const diff = arr1.reduce((result, item) => { if (!arr2.includes(item)) { result.push(item); } return result; }, []); console.log(diff); // [1, 2] |
1 2 3 4 |
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [3, 4, 5, 6, 7]; const diff = [...arr1].filter(item => !arr2.includes(item)); console.log(diff); // [1, 2] |
Во всех примерах получен массив diff
, который содержит элементы, которые есть в arr1
, но отсутствуют в arr2
.