Попытка получить отсортированный массив из значений объекта

-4

В основном я пытаюсь скопировать первый ответ на этой странице (Сортировка свойств объекта на основе значения) и сортировать мой объект в массив. Но я получаю сообщение об ошибке:

TypeError: Невозможно преобразовать неопределенные или null в объект

Что случилось?

  const denom = {
'ONE HUNDRED': 100.00,
'TWENTY' : 20.00,
'TEN' : 10.00,
'FIVE': 5.00,
'ONE' : 1.00,
'QUARTER': 0.25,
'DIME': 0.10,
'NICKEL': 0.05,
'PENNY': 0.01
};

const denomSorted = Object.keys(denom[0]).sort((a, b) => denom[0][b] - denom[0][a]);

denomSorted.forEach(x => console.log(x + ': ' + denom[0][x]));
  

спросил(а) 2021-01-19T15:16:39+03:00 2 месяца, 3 недели назад
1
Решение
61

Причина denom [0] не определена

Object.keys(denom[0])

не удастся. Может делать Object.keys(denom) и сортировать по клавишам:


const denom = {
'ONE HUNDRED': 100.00,
'TWENTY' : 20.00,
'TEN' : 10.00,
'FIVE': 5.00,
'ONE' : 1.00,
'QUARTER': 0.25,
'DIME': 0.10,
'NICKEL': 0.05,
'PENNY': 0.01
};

const denomSorted = Object.keys(denom).sort((a, b) => a.localeCompare(b));

denomSorted.forEach(x => console.log(x + ': ' + denom[x]));

или после значений:


    const denom = {      
'ONE HUNDRED': 100.00,
'TWENTY' : 20.00,
'TEN' : 10.00,
'FIVE': 5.00,
'ONE' : 1.00,
'QUARTER': 0.25,
'DIME': 0.10,
'NICKEL': 0.05,
'PENNY': 0.01
};

const denomSorted = Object.keys(denom).sort((a, b) => denom[a]- denom[b]);

denomSorted.forEach(x => console.log(x + ': ' + denom[x]));

ответил(а) 2021-01-19T15:16:39+03:00 2 месяца, 3 недели назад
62

вам не хватает этих [] скобок.

  const denom = [{
'ONE HUNDRED': 100.00,
'TWENTY' : 20.00,
'TEN' : 10.00,
'FIVE': 5.00,
'ONE' : 1.00,
'QUARTER': 0.25,
'DIME': 0.10,
'NICKEL': 0.05,
'PENNY': 0.01
}];

const denomSorted = Object.keys(denom[0]).sort((a, b) => denom[0][b] - denom[0][a]);

denomSorted.forEach(x => console.log(x + ': ' + denom[0][x]));
  

ответил(а) 2021-01-19T15:16:39+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема