Разработка на Java — востребованное направление, такие специалисты будут нужны на рынке еще долго. На курсе «Java-разработчик» от Skypro освоить профессию можно с нуля за 11 месяцев, даже если вы гуманитарий и ничего не знаете об IT. Программа составлена от простого к сложному и адаптирована для новичков. Преподаватели — практикующие специалисты из крупных компаний: «Сбер», «Самокат» и других.
При работе с массивами объектов в JavaScript часто возникает необходимость отсортировать эти объекты по определенному свойству. Рассмотрим пример: есть массив объектов, представляющих собой каталог книг. Каждый объект содержит информацию о книге: название, автора и цену.
var books = [
{
"title": "Властелин колец",
"author": "Дж. Р. Р. Толкин",
"price": "500"
}, {
"title": "Гарри Поттер и философский камень",
"author": "Дж. К. Роулинг",
"price": "400"
}, {
"title": "1984",
"author": "Джордж Оруэлл",
"price": "300"
}
];
Задача: отсортировать массив книг по цене в возрастающем или убывающем порядке.
В JavaScript для сортировки массивов используется встроенный метод sort(). Однако этот метод по умолчанию сортирует элементы как строки, что может привести к неправильной сортировке числовых значений.
Для правильной сортировки числовых значений, таких как цена в нашем примере, sort() принимает необязательную функцию сравнения в качестве аргумента. Эта функция должна принимать два элемента массива для сравнения и возвращать значение, которое определяет их относительный порядок.
books.sort(function(a, b) {
return a.price - b.price;
});
В этом примере функция сравнения принимает два объекта из массива books и сравнивает их свойства price. Если a.price меньше b.price, то функция вернет отрицательное значение и a будет расположен перед b. Если a.price больше b.price, то функция вернет положительное значение и a будет расположен после b.
Для сортировки в обратном порядке, достаточно поменять местами a и b:
books.sort(function(a, b) {
return b.price - a.price;
});
Таким образом, с помощью встроенного метода sort() и функции сравнения можно отсортировать массив объектов по значению любого числового свойства в возрастающем или убывающем порядке.
Освойте Java на курсе онлайн-университета Skypro. Учебе нужно будет уделять всего 10 часов в неделю: сможете совмещать с работой и личными делами. Вас ждут 440 часов теории и практики, мастер-классы с реальными рабочими задачами, опытные преподаватели, кураторы и наставники. За время обучения сделаете два полноценных проекта для портфолио и множество домашних заданий, чтобы отработать навыки.
Перейти в телеграм, чтобы получить результаты теста






Забрать
Добавить комментарий