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

217
Visualizações
¿Cómo puedo contar la aparición de valores de propiedad en una matriz de objetos?

Tengo una serie de ejemplos de objetos a continuación:

 const countriesSample = [{ name: "Yemen", capital: "Sana'a", languages: ["Arabic"], { name: "Zambia", capital: "Lusaka", languages: ["English"], }, { name: "Zimbabwe", capital: "Harare", languages: ["Shona", "English", "Northern Ndebele"], }, ];

Me gustaría iterar a través de la propiedad de idiomas y devolver el número de ocurrencias de cada valor de idioma como se muestra a continuación:

 [ { language: "English", count: 2 }, { language: "Arabic", count: 1 }, { language: "Shona", count: 1 }, { language: "Northern Ndebele", count: 1 } ];
He intentado recorrer el objeto, pero no devuelve ningún valor:

 let totalOccurence = 0; for (let i = 0; i < countries.length; i++) { for (let j = 0; j < countries[i].length; j++) { totalOccurence += countries[j].length; console.log(`language: ${countries[j].languages}, count:${totalOccurence} `); } }

¿Hay algún otro método en el que pueda lograr el resultado esperado sin usar bucles?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Use Array#reduce , recorriendo los idiomas de cada objeto y usando un objeto para realizar un seguimiento de la frecuencia de cada idioma.

 const countriesSample=[{name:"Yemen",capital:"Sana'a",languages:["Arabic"]},{name:"Zambia",capital:"Lusaka",languages:["English"]},{name:"Zimbabwe",capital:"Harare",languages:["Shona","English","Northern Ndebele"]}]; let res = Object.values(countriesSample.reduce((acc, {languages})=>{ languages.forEach(language => ++(acc[language] ??= {language, count: 0}).count); return acc; },{})); console.log(res);

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