js sort сортировка объектов

Метод sort сортирует элементы массива, используя для сравнения значений callback-функцию, предоставленную пользователем. Слово 'callback' означает, что наша задача — передать функцию (но не вызывать!), а вызывать её будет функция sort.

const users = [
  { name: 'Igor', age: 19 },
  { name: 'Danil', age: 1 },
  { name: 'Vovan', age: 4 },
  { name: 'Matvey', age: 16 },
];

const compare = (a, b) => {
  if (a.age === b.age) {
    return 0;
  }

  return a.age > b.age ? 1 : -1;
};

users.sort(compare);

console.log(users);


В примере выше необязательно создавать константу для callback-функции. Говоря откровенно, их вообще редко записывают в константы. Типичное использование выглядит как прямая передача функции в функцию. Короче можно записать так:

users.sort((a, b) => {
  if (a.age === b.age) {
    return 0;
  }
  return a.age > b.age ? 1 : -1;
});

// еще короче, но используя функцию Math.sign (не поддерживается старыми браузерами!!!)
users.sort((a, b) => Math.sign(a.age - b.age));



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы