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

131
Vistas
Comparando cadenas de colores en mecanografiado

Estoy tratando de comparar las siguientes cadenas de colores entre sí, estoy usando localeCompare para esto y aquí tenemos los siguientes colores: 'amarillo', 'verde', 'blanco' y transparente. Estos se guardan en la variable 'estado' como se muestra a continuación.

¿Cómo puedo comparar estas cadenas de la mejor manera? ¿Hay algún tipo de orden de clasificación que pueda establecer?

 arr1.sort((a, b) => (a.status != null) ? a.status.localeCompare(b.status) : 0)

Intenté revertirlo, pero eso fue puramente aleatorio, tengo problemas para entender esto.

arr1 tiene múltiples datos almacenados en él, como

 name: 'name' firstName: 'firstname' status: 'yellow'

Tengo una tabla que está renderizada y en esta tabla queremos que primero se muestre el amarillo una vez, el segundo verde, el blanco después y el transparente al final de la tabla.

  1. amarillo
  2. verde
  3. blanco
  4. transparente

Con localeCompare, cuando realizo el orden alfabético, por supuesto, se muestra amarillo al final de la lista.

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

0

Dado que no parece haber un valor claro de la cadena que podría usar, ¿qué le parece definir el orden usted mismo?

 type StatusColor = 'yellow' | 'green' | 'white' | 'transparent'; const colorOrder: Record<StatusColor, number> = { yellow: 0, green: 1, white: 2, transparent: 3 }; const exampleStatus: StatusColor[] = ['yellow', 'white', 'transparent', 'green', 'green', 'yellow', 'transparent', 'yellow']; exampleStatus.sort((a, b) => colorOrder[a] - colorOrder[b]); console.log(exampleStatus); // [ "yellow", "yellow", "yellow", "green", "green", "white", "transparent", "transparent" ]
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