Введение
В этом практическом занятии мы научимся сортировать массив объектов по алфавиту на основе заданного свойства с использованием JavaScript. Мы будем использовать метод Array.prototype.sort() и метод String.prototype.localeCompare() для сравнения значений заданного свойства. Это позволит нам легко сортировать массив в порядке возрастания или убывания в зависимости от наших требований.
Как сортировать массив по алфавиту на основе заданного свойства в JavaScript
Чтобы сортировать массив объектов по алфавиту на основе заданного свойства в JavaScript, следуйте этим шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковать программирование. - Используйте
Array.prototype.sort(), чтобы отсортировать массив на основе заданного свойства. - Используйте
String.prototype.localeCompare(), чтобы сравнить значения заданного свойства.
Вот пример кода, который вы можете использовать:
const alphabetical = (arr, getter, order = "asc") =>
arr.sort(
order === "desc"
? (a, b) => getter(b).localeCompare(getter(a))
: (a, b) => getter(a).localeCompare(getter(b))
);
Вы можете вызвать функцию alphabetical с массивом объектов и функцией-генератором, которая возвращает свойство для сортировки. Вот пример использования:
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' } ]
Резюме
Поздравляем! Вы завершили практическое занятие по сортировке массива по алфавиту. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.