Сортировка массива объектов по свойству

Как отсортировать массив однотипных javascript-объектов по значению одного из их свойств. Решения для числовых, а так же для строковых типов данных.

Сортировка массива объектов по свойству

Как отсортировать массив однотипных объектов по значению одного из их свойств.

Для примера возьмём массив пользователей, где у пользователей есть id, имя и возраст:

let users = [
    {
        id: 1,
        name: 'Denis',
        age: 28
    },
    {
        id: 2,
        name: 'Olga',
        age: 25
    },
    {
        id: 3,
        name: 'Ivan',
        age: 18
    }
];

Для сортировки массивов используем метод sort().

  Чтобы отсортировать массив из объектов пользователей по возрасту (по цифровым значениям), используем то же правило что и для сортировки цифровых массивов , так как возраст является числом.

Собственно в нашем примере массива мы должны в калбеке работать со свойством age:

users.sort((prev, next) => prev.age - next.age);

console.log(users); // → [{id: 3, name: "Ivan", age: 18}, {id: 2, name: "Olga", age: 25}, {id: 1, name: "Denis", age: 28}]

Как видно всё очень просто.

 

  Немного сложнее выглядит задача отсортировать наш массив пользователей по имени. Для этого в калбеке нам нужно использовать условия.

Сортируем массив пользователей по имени - готовое решение:

users.sort((prev, next) => {
    if ( prev.name < next.name ) return -1;
    if ( prev.name < next.name ) return 1;
});

console.log(users); // → [{id: 1, name: "Denis", age: 28}, {id: 3, name: "Ivan", age: 18}, {id: 2, name: "Olga", age: 25}]

Как видно, в результате объекты в массиве отсортированы по именам пользователей.

 

Записи по теме
JavaScript методы, свойства и события для video и audio
видео и аудио Эти методы, свойства и события позволяют нам управлять элементами audio и video с помощью JavaScript, что позволяет писать собственные видео-плееры и аудио-проигрыватели с любым необходимым функционалом.
Генератор случайных чисел кратных заданному значению
Генератор случайных чисел кратных заданному значению Готовое решение для задач в которых необходимо генерировать случайные числа в заданном диапазоне, при этом чтобы эти числа были кратны какому то заданному числу.
Гугл карта для сайта - Google Maps API
карта Как самостоятельно без дополнительных расширений внедрить на сайте гугл-карту с меткой маркером и описанием в сплывающей подсказке, появляющейся при клике по маркеру.
Математические функции и операторы в JavaScript
математические функции Сборка арифметических операторов и методов чисел в JavaScript. Всё что связано с математикой в JavaScript с примерами функций и решений, собрано вместе на одной странице.
Методы консоли в JavaScript
console.log В JavaScript специально для работы с консолью есть объект console. Ниже описаны доступные для объекта Console методы и приведены несколько примеров их использования.
Методы массивов JavaScript
массив Методы массивов в JavaScript и примеры их использования: push, pop, unshift, shift, split, join, slice, splice, reverse, map, filter, reduce, sort, includes ...

 

 

Комментарии 0

*** чтобы писать комментарии.