Вставить объект в массив в формате значения ключа

У меня есть объект, подобный этому

var total = { 'Apple': 0.6,
              'Banana': 0.6,
              'Orange': 1,
              'Grapes': 0.4,
              'Pineapple': 0.4 }

для этого, во-первых, я проверю длину объекта.

var len = Object.keys(total).length;

Теперь я хочу преобразовать его в правильный объект key-value format в массиве. Что-то вроде этого:

[
   {'name': 'Apple', 'value': 0.6},
   {'name': 'Banana', 'value': 0.6},
   {'name': 'Orange', 'value': 1},
   {'name': 'Grapes', 'value': 0.4},
   {'name': 'Pineapple', 'value': 0.4}
]

Теперь я не знаю, как сделать код для решения этой проблемы. Любая помощь оценивается

Ответ 1

Вы можете использовать Array # map функцию на объектных клавишах и создать объекты с нужной формой.

const total = { 
    'Apple': 0.6,
    'Banana': 0.6,
    'Orange': 1,
    'Grapes': 0.4,
    'Pineapple': 0.4 
};
              
const array = Object.keys(total)
                    .map(key => ({ name: key, value: total[key] }))
                    .sort((f, s) => f.value - s.value);

console.log(array);

Ответ 2

 const result = Object.entries(total).map(([name, value]) => ({name, value}));