Вставить объект в массив в формате значения ключа
У меня есть объект, подобный этому
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}));