Introducción
En este laboratorio, aprenderemos cómo ordenar alfabéticamente una matriz de objetos basándonos en una propiedad dada utilizando JavaScript. Utilizaremos el método Array.prototype.sort() y el método String.prototype.localeCompare() para comparar los valores de la propiedad dada. Esto nos permitirá ordenar fácilmente la matriz en orden ascendente o descendente, según nuestras necesidades.
Cómo ordenar alfabéticamente una matriz basada en una propiedad dada en JavaScript
Para ordenar alfabéticamente una matriz de objetos basada en una propiedad dada en JavaScript, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice
Array.prototype.sort()para ordenar la matriz basada en la propiedad dada. - Utilice
String.prototype.localeCompare()para comparar los valores de la propiedad dada.
A continuación, se muestra un fragmento de código de ejemplo que puede utilizar:
const alphabetical = (arr, getter, order = "asc") =>
arr.sort(
order === "desc"
? (a, b) => getter(b).localeCompare(getter(a))
: (a, b) => getter(a).localeCompare(getter(b))
);
Puede llamar a la función alphabetical con una matriz de objetos y la función getter que devuelve la propiedad por la que se debe ordenar. A continuación, se muestra un ejemplo de uso:
const people = [{ name: "John" }, { name: "Adam" }, { name: "Mary" }];
alphabetical(people, (g) => g.name);
// [ { name: 'Adam' }, { name: 'John' }, { name: 'Mary' } ]
alphabetical(people, (g) => g.name, "desc");
// [ { name: 'Mary' }, { name: 'John' }, { name: 'Adam' } ]
Resumen
¡Felicitaciones! Has completado el laboratorio de Ordenar Matriz Alfabéticamente. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.