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

317
Vistas
Ordenar Array javascript según tamaños

Tengo una matriz que estoy tratando de ordenar según los tamaños del mundo real.

 ["s", "m", "l", "xl", "xxl", "xs"].sort(function(a,b){ if(a === "xs") });

Obtengo esta matriz como respuesta y tengo que modificarla en el front-end. Intenté solucionarlo, pero no puedo encontrar las condiciones adecuadas para hacer. ¿Qué debo hacer para que la matriz se ordene en este orden?

 ["xs","s", "m", "l", "xl", "xxl"]

Incluso si falta algún tamaño, debe estar en el orden correcto, por ejemplo, si el tamaño mediano no está disponible, debe estar en el orden correcto.

 ["xs","s", "l", "xl", "xxl"]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Use la posición de índice de una matriz ordenada:

 const order = ["xs", "s", "m", "l", "xl", "xxl"]; const orderedArray = ["s", "m", "l", "xl", "xxl", "xs"].sort((a, b) => { return order.indexOf(a) - order.indexOf(b) }) console.log(orderedArray) // ["xs", "s", "m", "l", "xl", "xxl"]

about 4 years ago · Juan Pablo Isaza Denunciar

0

Comience creando una matriz de objetos, con los tamaños correspondientes:

 var sizes = [ { size: 'xs', value: 0}, { size: 's', value: 1}, { size: 'm', value: 2}, { size: 'l', value: 3}, { size: 'xl', value: 4}, { size: 'xxl', value: 5} ];

Luego ordene según los valores:

 // sort by value sizes.sort(function (a, b) { return a.value - b.value; });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar un objeto aquí como un diccionario.

Obtener datos de un objeto es mucho mejor que una matriz

 const sizes = { xs: 100, s: 200, m: 300, l: 400, xl: 500, xxl: 600, }; const arr = ["s", "m", "l", "xl", "xxl", "xs"]; const result = arr.sort((a, b) => sizes[a] - sizes[b]); 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