Como obter valores distintos de uma matriz de objetos em JavaScript?

Como obter valores distintos de uma matriz de objetos em JavaScript?
As matrizes são freqüentemente utilizadas para armazenar dados em javascript. Essas matrizes podem conter objetos com muitas propriedades. Enquanto trabalham com esses tipos de matrizes, os desenvolvedores freqüentemente enfrentam uma situação em que precisam extrair valores únicos ou diferentes das matrizes. Por exemplo, recupere uma lista de todas as categorias de produtos distintas/únicas e assim por diante.

Este blog definirá as maneiras de obter valores distintos/únicos de uma matriz de objetos em JavaScript.

Como obter valores distintos/únicos de uma matriz de objetos em JavaScript?

Para obter os valores únicos de uma variedade de objetos, use as seguintes abordagens:

  • Objeto "Set" com o método "map ()".
  • Método "filtro ()" com o método "map ()".

Método 1: Obtenha valores distintos de uma matriz de objetos usando o objeto "set" com o método "map ()"

Para recuperar valores distintos de uma variedade de objetos, use o “Definir“Objeto com o“mapa()”Método. O "conjunto" permite salvar valores distintos de qualquer tipo. O método "map ()" é utilizado para criar uma nova matriz que contém a saída, invocando uma determinada função de retorno de chamada em cada elemento da matriz original. Ele aceita uma função como um parâmetro que o chama em cada elemento da matriz e depois produz um novo valor.

Exemplo

Crie uma variedade de objetos chamados “StudentDetails”:

const studentDetails = [
id: 1, nome: "Joseph", idade: 15,
id: 2, nome: "Milli", idade: 13,
id: 3, nome: "John", idade: 11,
id: 4, nome: "Mike", idade: 16,
id: 5, nome: "John", idade: 18
];

Ligue para o método map () para criar uma nova matriz com apenas o “nome”Propriedade de cada objeto na matriz original. Passe para o construtor de set que armazenará valores exclusivos removendo todos os valores duplicados. Em seguida, utilize o operador de propagação “.. ”Para converter o objeto Set em uma matriz:

const distinttstdnames = [… novo conjunto (StudentDetails.mapa (obj => obj.nome))];

Por fim, imprima a matriz resultante no console:

console.log (distinttstdnames);

A saída indica que a matriz de valores distintos de nomes foi recuperada com sucesso de uma variedade de objetos:

Método 2: Obtenha valores distintos de uma matriz de objetos usando o método "filtro ()" Com o método "map ()"

Outra abordagem para obter os valores únicos de uma variedade de objetos é usar o “filtro()”Método com o“mapa()”Método. O método "filtro ()" cria uma nova matriz com todos os elementos que passam em uma condição específica, enquanto o método "map ()" cria uma nova matriz com os resultados de invocar uma função fornecida em cada membro na matriz.

Exemplo

Invoque o método "filtro ()" com o método "map ()" para recuperar os valores exclusivos do "nomePropriedade dos objetos:

const distinttstdnames = StudentDetails.mapa ((item) => item.nome)
.filtro ((nome, índice, currentVal) =>
currentVal.indexOf (nome) === Índice
);

Por fim, exiba os valores exclusivos no console:

console.log (distinttstdnames);

Saída

Trata -se de obter valores distintos/únicos de uma matriz de objetos em JavaScript.

Conclusão

Para obter os valores únicos de uma variedade de objetos, use o “Definir“Objeto com o“mapa()”Método ou o“filtro()”Método com o“mapa()”Método. Em termos de desempenho, a primeira abordagem “Set” objeto com o método “map ()” é melhor. Este blog definiu as maneiras de obter valores únicos de uma variedade de objetos em JavaScript.