РЕДАГУВАТИ: Будь ласка, перевірте відповідь Енді, оскільки його відповідь прийшла першою, і це виключно продовження його відповіді
Я знаю, що це давнє запитання, але я думаю, що його варто включити 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
Сподіваюся, що це допомагає :)