Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
JavaScript: matriz de grupos de objetos por propiedad en un objeto

si tengo una matriz js como la siguiente, ¿hay una forma sencilla de reagrupar los valores de la matriz por edad? Traté de reducirlo a una matriz, pero no ayudó. se reagrupa con la edad o el nombre

 let employees = [ { firstName:"Zion", lastName: "Rosy", age: 25, joinedDate:"January 24, 2020", }, { firstName: "Ana", lastName: "Rosy", age: 25, joinedDate: "January 15, 2019", }, { firstName: "Zion", lastName:"Albert", age: 30, joinedDate:"February 15, 2011", }, ];

Para reagrupar por edad así:

 let organizedByAge = { 25: [ { firstName:"Zion", lastName: "Rosy", age: 25, joinedDate:"January 24, 2020", }, { firstName: "Ana", lastName: "Rosy", age: 25, joinedDate: "January 15, 2019", }, ], 30: [ { firstName:"Zion", lastName:"Albert", age: 30, joinedDate:"February 15, 2011", }, ], };
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

¿Existe una forma sencilla de reagrupar los valores de la matriz por edad?

Al reescribir arreglos y objetos, el enfoque más sencillo y legible suele ser usar un bucle for simple:

 for (let i = 0; i < employees.length; i++) { const age = employees[i]['age']; if (organizedByAge.hasOwnProperty(age)) { organizedByAge[age].push(employees[i]); } else { organizedByAge[age] = []; organizedByAge[age][0] = employees[i]; } }

Ejemplo de trabajo:

 let employees = [ { firstName:"Zion", lastName: "Rosy", age: 25, joinedDate:"January 24, 2020", }, { firstName: "Ana", lastName: "Rosy", age: 25, joinedDate: "January 15, 2019", }, { firstName: "Zion", lastName:"Albert", age: 30, joinedDate:"February 15, 2011", }, ]; let organizedByAge = {}; for (let i = 0; i < employees.length; i++) { const age = employees[i]['age']; if (organizedByAge.hasOwnProperty(age)) { organizedByAge[age].push(employees[i]); } else { organizedByAge[age] = []; organizedByAge[age][0] = employees[i]; } } console.log(organizedByAge);

about 4 years ago · Juan Pablo Isaza Relatório

0

Usando Array#reduce :

 const employees = [ { firstName:"Zion", lastName: "Rosy", age: 25, joinedDate:"January 24, 2020" }, { firstName: "Ana", lastName: "Rosy", age: 25, joinedDate: "January 15, 2019" }, { firstName: "Zion", lastName:"Albert", age: 30, joinedDate:"February 15, 2011" } ]; const organizedByAge = employees.reduce((map, e) => ({ ...map, [e.age]: [...(map[e.age] ?? []), e] }), {}); console.log(organizedByAge);

about 4 years ago · Juan Pablo Isaza Relatório

0

const groupByKey = (_data, _key) => { return _data.reduce((result, next) => { const key = next[_key]; result[key] = result[key]?.length ? [...result[key], next] : [next]; return result; }, {}); } console.warn(groupByKey(employees, 'age'));
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda