Удалить повторяющиеся значения из массивов

Использование методов Array.prototype.filter() и Array.prototype.indexOf()

let originalArray = [1, 2, 3, 4, 1, 2, 3, 4]

let uniqueArray = originalArray.filter((item, index, array) => {
  return array.indexOf(item) === index
})

// uniqueArray === [1, 2, 3, 4]

Использование методов Array.prototype.filter() и Array.prototype.indexOf() - только дубликаты

let originalArray = [1, 2, 3, 4, 5, 6, 3, 4]

let duplicateArray = originalArray.filter((item, index, array) => {
  return array.indexOf(item) !== index
})

// duplicateArray = Array [ 3, 4 ]

Использование ES6 объекта Set

var originalArray = [1, 2, 3, 4, 1, 2, 3, 4, 5];
var uniqueArray = Array.from(new Set(originalArray))
console.log(uniqueArray); // Array(5) [ 1, 2, 3, 4, 5 ]

Наборы гарантированно сохраняют порядок вставленных элементов и содержат только уникальные значения. Поэтому по определению невозможно, чтобы набор (set) содержал дубликаты!