Как получать разницу между массивами в javascript?

Пользователь

от jedidiah.brown , в категории: JavaScript , 2 месяца назад

Как получать разницу между массивами в javascript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cloyd , 19 дней назад

@jedidiah.brown 

Существует несколько способов получить разницу между массивами в javascript:

  1. Использование метода filter()
1
2
3
4
5
6
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];

const diffArray = array1.filter(x => !array2.includes(x));

console.log(diffArray);  // [1, 2]


  1. Использование метода reduce()
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];

const diffArray = array1.reduce((acc, value) => {
  if (!array2.includes(value)) {
    acc.push(value);
  }
  return acc;
}, []);

console.log(diffArray);  // [1, 2]


  1. Использование оператора spread и метода filter()
1
2
3
4
5
6
const array1 = [1, 2, 3, 4, 5];
const array2 = [3, 4, 5, 6, 7];

const diffArray = [...array1].filter(x => !array2.includes(x));

console.log(diffArray);  // [1, 2]