РЕДАКТИРОВАТЬ: пожалуйста, проверьте ответ Энди поскольку его ответ пришел первым, и это исключительно расширение его
Я знаю, что это старый вопрос, но я думаю, что стоит включить Array.prototype.sort()
.
Вот пример из MDN со ссылкой
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
К счастью, это работает не только с числами:
arr.sort([compareFunction])
compareFunction
Задает функцию, определяющую порядок сортировки. Если опущено, массив сортируется в соответствии со значением кодовой точки Unicode каждого символа, в соответствии с преобразованием строки каждого элемента.
Я заметил, что вы заказываете их по имени:
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;
});
обратите внимание, что если вы хотите упорядочить их по фамилии, вам понадобится ключ для обоих first_name
&last_name
либо использовать магию регулярных выражений, которую я не могу сделать XD
Надеюсь, это поможет :)