I have an object like this:
const total = {
"Apple": 0.6,
"Banana": 0.6,
"Orange": 1,
"Grapes": 0.4,
"Pineapple": 0.4
};
Now I want to convert it into an array of key–value objects where each object has the same set of two properties, "name"
and "value"
, which hold the key and value, respectively, of each property of the original object:
[
{ "name": "Apple", "value": 0.6 },
{ "name": "Banana", "value": 0.6 },
{ "name": "Orange", "value": 1 },
{ "name": "Grapes", "value": 0.4 },
{ "name": "Pineapple", "value": 0.4 }
]
You can convert its values to an array by doing: var array = Object. keys(obj) . map(function(key) { return obj[key]; }); console.
To convert a JavaScript object into a key-value object array, we can use the Object. entries method to return an array with of key-value pair arrays of a given object. Then we can use the JavaScript array map method to map the key-value pair arrays into objects.
If an object is converted to an array, the result is an array whose elements are the object's properties.
The quickest way to convert an array of objects to a single object with all key-value pairs is by using the Object. assign() method along with spread operator syntax ( ... ). The Object.
const result = Object.entries(total).map(([name, value]) => ({name, value}));
You can use Array#map function on the object keys and create your objects with desired shape.
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);
If you use ES7 or higher you can replace Object#keys with Object#entries. Use also object destructuring in the parameter list to get name
and value
separately.
const total = {
'Apple': 0.6,
'Banana': 0.6,
'Orange': 1,
'Grapes': 0.4,
'Pineapple': 0.4
};
const array = Object.entries(total)
.map(([name, value]) => ({ name, value }))
.sort((f, s) => f.value - s.value);;
console.log(array);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With