Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

379
Vistas
JavaScript: Remove duplicates from array of objects

I have an array of data which looks like this.

data = [ 
  { "name": "Apple", "type": "Fruit"}, 
  { "name": "Cabbage", "type": "Vegetable"} , 
  { "name": "Orange", "type": "Fruit"} 
] 

I want to filter out the element which its type already existed. And I want to keep the first element.

E.g. keep Apple instead of Orange

data = [ 
  { "name": "Apple", "type": "Fruit"},
  { "name": "Cabbage", "type": "Vegetable"}
]
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Using Array#filter, you can iterate over the array while updating a Set to keep track of types added:

const data = [ { "name": "Apple", "type": "Fruit"}, { "name": "Cabbage", "type": "Vegetable"}, { "name": "Orange", "type": "Fruit"} ];

const typeSet = new Set();
const res = data.filter(({ type }) => {
  if(typeSet.has(type)) return false;
  typeSet.add(type);
  return true;
});

console.log(res);

about 4 years ago · Juan Pablo Isaza Denunciar

0

1) You can filter the result if type already not present in dict using filter and Set as:

data.filter((o) => (dict.has(o.type) ? false : dict.add(o.type, true)))

const data = [
  { name: "Apple", type: "Fruit" },
  { name: "Cabbage", type: "Vegetable" },
  { name: "Orange", type: "Fruit" },
];

const dict = new Set();
const result = data.filter((o) => (dict.has(o.type) ? false : dict.add(o.type, true)));
console.log(result)

2) You can also use for..of and Set as:

const data = [
  { name: "Apple", type: "Fruit" },
  { name: "Cabbage", type: "Vegetable" },
  { name: "Orange", type: "Fruit" },
];

const dict = new Set(), result = [];

for (let o of data) {
  if (!dict.has(o.type)) {
    result.push(o);
    dict.add(o.type);
  }
}

console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda