@VladilenOk

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

Есть объект вида:

const obj = {
     'anyID2' : {name: 'petya', age: 30},
     'anyID1' : {name: 'vasya', age: 20},
      'anyID3' : {name: 'kirill', age: 40},
}


Как отсортировать так, что бы получился:

obj = {
     'anyID1' : {name: 'vasya', age: 20},
      'anyID2' : {name: 'petya', age: 30},
      'anyID3' : {name: 'kirill', age: 40},
}


Т.е на выходе остался объект с объектами, у которого пользователи отсортированы по возрасту.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
const obj = {
  'anyID2' : {name: 'petya', age: 30},
  'anyID1' : {name: 'vasya', age: 20},
  'anyID3' : {name: 'kirill', age: 40},
};
const newObj = Object
  .keys(obj)
  .sort((x, y) => obj[x].age - obj[y].age)
  .reduce((acc, key) => { acc[key] = obj[key]; return acc; }, {});
console.log(newObj);
/*
Object { anyID1: {…}, anyID2: {…}, anyID3: {…} }
​  anyID1: Object { name: "vasya", age: 20 }
​  anyID2: Object { name: "petya", age: 30 }
​  anyID3: Object { name: "kirill", age: 40 }
*/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы