Cómo ordenar una matriz de objetos por un valor de propiedad en JavaScript

 

 

 

¡Descubra cómo ordenar una matriz de objetos por un valor de propiedad en JavaScript!

Supongamos que tienes una matriz de objetos.

Es posible que tengas este problema: ¿cómo ordenas esta matriz de objetos por el valor de una propiedad?

Digamos que tienes una matriz de objetos como ésta:

const list = [ { color: 'white', size: 'XXL' }, { color: 'red', size: 'XL' }, { color: 'black', size: 'M' }]

Desea representar esta lista, pero primero desea ordenarla por el valor de una de las propiedades . Por ejemplo, desea ordenarla por el nombre del color, en orden alfabético: negro, rojo, blanco.

Puedes utilizar el sort()método de Array, que toma una función de devolución de llamada, que toma como parámetros 2 objetos contenidos en el array (a los que llamamos ay b):

 

list.sort((a, b) = (a.color b.color) ? 1 : -1)

Cuando devolvemos 1, la función comunica sort()que el objeto btiene prioridad en la clasificación sobre el objeto a. Devolver -1haría lo contrario.Te recomendamos Zonas Azules

La función de devolución de llamada también podría calcular otras propiedades para manejar el caso en el que el color es el mismo y ordenar también por una propiedad secundaria:

list.sort((a, b) = (a.color b.color) ? 1 : (a.color === b.color) ? ((a.size b.size) ? 1 : -1) : -1 )

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Cómo generar un número aleatorio entre dos números en JavaScript
  2. Cómo esperar el evento DOM listo en JavaScript simple
  3. Cómo determinar si una fecha es hoy en JavaScript
  4. Cómo contar el número de propiedades en un objeto JavaScript

Cómo ordenar una matriz de objetos por un valor de propiedad en JavaScript

Supongamos que tienes una matriz de objetos. ¡Descubra cómo ordenar una matriz de objetos por un valor de propiedad en JavaScript! ¡Descubra cómo ordenar u

programar

es

2025-01-16

 

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences