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

149
Vistas
Cómo encontrar los principales elementos recurrentes en una matriz en javascript

Así que digamos que tengo una serie de cadenas de nombres de países, es decir

const array = ["usa", "spain", "canada", "usa", "usa", "spain"]

¿Cómo haría para recorrer esa matriz y generar una lista que incremente los elementos más populares en esa matriz y enumere solo los 3 principales, por ejemplo?

Para un contexto más amplio, el caso de uso real es con cientos de elementos de matriz con docenas o incluso cientos de países diferentes.

Sé que puedo recorrer la matriz y crear una nueva matriz e incrementar cada vez que una cadena en particular se repite nuevamente, pero tenía curiosidad por saber si alguien tiene un enfoque más limpio y más universal.

Salida deseada:

 usa: 3 spain: 2 canada: 1

Gracias por tu tiempo.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puedes hacer uso de Array.reduce :

 const array = ["usa", "spain", "canada", "usa", "usa", "spain"] const obj = array.reduce((a, b) => { return a[b] = array.filter(e => e == b).length, a }, {}) console.log(obj);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto no es muy bonito, pero creo que es el fragmento más parecido a js que puedo proporcionarte

 const array = ["usa", "spain", "canada", "usa", "usa", "spain"] const result = array.reduce((acc, cur) => {acc[cur] = (acc[cur] ?? 0) + 1; return acc}, {}) console.log(result)

¡Seguramente esto se puede hacer de una mejor manera!

about 4 years ago · Juan Pablo Isaza Denunciar

0

Solución simple pero más intuitiva.

 const arr = ["usa", "spain", "canada", "usa", "usa", "spain"]; let results = {}; for (let country of arr) { results[country] = (results[country] || 0) + 1; } console.log(results);

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