@otha_marks
ПРимеры, предоставленные пользователем, являются вполне рабочими и эффективными для нахождения разницы между двумя массивами в JavaScript. Однако, существуют и другие способы достижения этой цели. Вот некоторые из них:
- С использованием метода Array.filter() и метода Array.includes():
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]
|
- С использованием метода Array.filter() и метода Array.indexOf():
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]
|
- С использованием оператора spread и метода Array.filter():
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]
|
- С использованием метода Array.reduce() и метода Array.includes():
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]
|
Во всех примерах указан массив diff, который содержит элементы, которые есть в arr1, но отсутствуют в arr2. Используйте любой из этих способов в зависимости от вашего предпочтения и ситуации.