EDITAR: Por favor, consulte la respuesta de Andy, ya que su respuesta fue la primera y esta es solo una extensión
Sé que esta es una pregunta antigua, pero creo que vale la pena incluirla Array.prototype.sort()
.
Aquí hay un ejemplo de MDN junto con el enlace
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
Afortunadamente, no solo funciona con números:
arr.sort([compareFunction])
compareFunction
Especifica una función que define el orden de clasificación. Si se omite, la matriz se ordena según el valor del punto de código Unicode de cada carácter, según la conversión de cadena de cada elemento.
Noté que los está ordenando por nombre:
let playlist = [
{artist:"Herbie Hancock", title:"Thrust"},
{artist:"Lalo Schifrin", title:"Shifting Gears"},
{artist:"Faze-O", title:"Riding High"}
];
// sort by name
playlist.sort((a, b) => {
if(a.artist < b.artist) { return -1; }
if(a.artist > b.artist) { return 1; }
// else names must be equal
return 0;
});
Tenga en cuenta que si se quería ordenarlos por apellido tendría que o bien tienen una clave para ambos first_name
y last_name
, o hacer un poco de magia de expresiones regulares, que yo no puedo hacer XD
Espero que ayude :)