quarta-feira, novembro 27, 2024
Home Programação Javascript Como remover valores repetidos de um Array

Como remover valores repetidos de um Array

Antes de mais nada, quais as principais motivações para se remover valores repetidos de um Array

Remover valores repetidos de um array é importante por várias razões:

  1. Melhoria de desempenho: Quando um array possui itens duplicados, o desempenho das operações que utilizam esse array pode ser prejudicado, pois a quantidade de dados a ser processada é maior do que o necessário.
  2. Dados corretos: A presença de itens duplicados em um array pode levar a resultados incorretos em aplicações que utilizam esses dados, já que a duplicidade pode distorcer a representação correta dos dados.
  3. Armazenamento de memória: Remover itens duplicados de um array também pode liberar memória que estava sendo utilizada de forma desnecessária.
  4. Leitura de dados: Quando um array possui itens duplicados, a leitura dos dados pode ser prejudicada, já que é necessário realizar ações adicionais para garantir a correção dos dados.

Em resumo, remover itens duplicados de um array é importante para garantir a correção dos dados, melhorar o desempenho das aplicações e liberar memória de forma eficiente.

Formas de se remover valores duplicados de um Array

Utilizando o método filter:

let array = [1, 2, 3, 4, 5, 1, 2, 3];
let result = array.filter((item, index) => array.indexOf(item) === index);
console.log(result); // [1, 2, 3, 4, 5]

Em detalhes o código utilizando Filter:

A linha let array = [1, 2, 3, 4, 5, 1, 2, 3]; cria um array com 8 elementos, sendo que alguns deles são duplicados.

A linha let result = array.filter((item, index) => array.indexOf(item) === index); aplica o método filter no array. O método filter retorna um novo array com base nos resultados da função de filtro passada como argumento.

A função de filtro utiliza array.indexOf(item) para determinar a primeira posição do item atual (item) no array. Se a primeira posição do item atual é igual ao índice atual (index), então o item é considerado único e é adicionado ao novo array retornado pelo filter.

Utilizando o método reduce:

let array = [1, 2, 3, 4, 5, 1, 2, 3];
let result = array.reduce((unique, item) => unique.includes(item) ? unique : [...unique, item], []);
console.log(result); // [1, 2, 3, 4, 5]

Em detalhes o código utilizando o Reduce:

A linha let result = array.reduce((unique, item) => unique.includes(item) ? unique : [...unique, item], []); aplica o método reduce no array. O método reduce retorna um único valor com base nos resultados da função de acumulação passada como argumento.

A função de acumulação recebe dois argumentos: unique e item. unique representa o valor acumulado ao longo da iteração e é iniciado com o valor [] passado como segundo argumento para o método reduce. item representa o item atual do array que está sendo processado.

A função de acumulação usa a operação ternária unique.includes(item) ? unique : [...unique, item] para determinar se o item atual já está incluído no valor acumulado unique. Se o item já está incluído, então o valor acumulado não é modificado, retornando unique. Se o item não está incluído, então ele é adicionado ao valor acumulado com [...unique, item].

Utilizando o método Set:

let array = [1, 2, 3, 4, 5, 1, 2, 3];
let result = Array.from(new Set(array));
console.log(result); // [1, 2, 3, 4, 5]

Em detalhes o código utilizando o Set:

A linha let result = Array.from(new Set(array)); usa o construtor Set para criar um objeto Set a partir do array array. O objeto Set permite apenas elementos únicos, automaticamente removendo itens duplicados. Em seguida, a função Array.from é usada para transformar o objeto Set em um array, result.

Função útil para utilização em seus códigos para remover valores repetidos de um Array

function removeDuplicates(array) {
  return Array.from(new Set(array));
}

let array = [1, 2, 3, 4, 5, 1, 2, 3];
let result = removeDuplicates(array);
console.log(result); // [1, 2, 3, 4, 5]

DEIXE UMA RESPOSTA

Por favor entre com seu comentário
Por favor insira o seu nome aqui

Últimos artigos

Entenda o que é refatoração de código

Porque a refatoração de código é tão importante na programação Melhora a qualidade do código: A refatoração ajuda a melhorar a qualidade do código,...

O que são Padrões de Projeto de Software

O que são Padrões de Projeto de Software Design patterns, ou padrões de projeto de software, são soluções comprovadas e testadas para problemas comuns que...

Winston NodeJS Logger

O que são logs de uma aplicação? Basicamente são registros detalhados e estruturados dos eventos ocorridos em sua execução. Eles incluem informações sobre erros, operações...

Vantagens e Desvantagens no uso da API Date e Intl

Antes de mais nada, qual a importância de saber manipular datas na programação É importante saber manipular os objetos Date e Intl em JavaScript porque...

Entendendo biblioteca de requisições HTTP Axios

Primeiramente o que é AXIOS e sua finalidade Axios é uma biblioteca JavaScript que facilita a realização de requisições HTTP (como GET, POST, PUT, DELETE,...