Remover valores duplicados em um array com Javascript

const numbers = [1,2,3,3,4,4,5,5,6,7]
const newNumbers = [...new Set(numbers)]
console.log(numbers)
console.log(newNumbers)
/*
Resposta:
array numbers: [ 1, 2, 3, 3, 4, 4, 5, 5, 6, 7 ]
array newNumbers: [ 1, 2, 3, 4, 5, 6, 7 ]
*/

O objeto Set() apenas permite um array com valores únicos, então se passarmos um array com valores duplicados dentro dele eles serão removidos.

Nesse exemplo usei um array de números mas o mesmo vale para um array com strings.

const names = ['João', 'Lucas', 'João', 'Paulo', 'Lucas']
const newNames = [...new Set(names)]
console.log(names)
console.log(newNames)
/*
Resposta:
array names: ['João', 'Lucas', 'João', 'Paulo', 'Lucas']
array newNames: ['João', 'Lucas', 'Paulo']
*/