@MaksN9

Как отсортировать массив объектов?

Как отсортировать массив по возрастанию возраста не затрагивая строчку sort?

const createUser = function(name, age) {
    return {
        name,
        age,
        toString: function() {
            return `${this.name} is
${this.age}y.o.`;
        },
    }
}

const users = [
    createUser("John", 21),
    createUser("Tory", 18),
    createUser("Kate", 23),
    createUser("Pete", 22),
]
users.sort((a,b) => a- b);
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
не затрагивая строчку sort

users.sort((a,b) => a- b);

Значит, надо научить объекты представлять себя в виде числа.

Добавьте им

valueOf() {
  return this.age;
},

Или, замените toString на

[Symbol.toPrimitive](hint) {
  return hint === 'number'
    ? this.age
    : `${this.name} is ${this.age} y.o.`;
},
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы