Avatar ·

Como remover duplicatas de um array e obter apenas valores únicos em JavaScript?

Olá a todos! Sou novo em JavaScript e encontrei um problema ao trabalhar com arrays. Tenho um array contendo valores repetidos. Preciso obter dele um novo array que contenha apenas elementos únicos, ou seja, sem duplicatas. Por exemplo, tenho o seguinte array:
const fruits = ['apple', 'banana', 'apple', 'orange', 'banana', 'kiwi', 'orange'];
Quero obter como saída: ['apple', 'banana', 'orange', 'kiwi'] — ou seja, cada fruta aparece apenas uma vez, e a ordem é mantida pela primeira ocorrência. Tentei escrever minha própria função com um loop e verificação usando indexOf, mas o código ficou extenso e pouco legível. Acho que no JavaScript moderno devem existir maneiras mais elegantes de fazer isso. Por favor, me digam quais métodos existem para remover duplicatas de um array? Quais são considerados os melhores em termos de performance e legibilidade? Estou interessado em soluções tanto para arrays de primitivos