Good morning, could someone help me with changing Object like this
{
item1: "this is string field value",
item2: "FF FF A2 C4h"
}
And i need to get this format of array
[
{
id: item1, value: "this is string field value"
},
{
id: item2, value: "FF FF A2 C4"
}
]
I know how I could solve this, for example, using it Object.keys() or Object.values().
But I always get only one parameter out of two. And then the combination of these two results I am not able to put together. Therefore, I want to ask if anyone knows about a better / simpler solution. Or if someone could show me what I'm doing wrong and what is solution for this.
Thanks in advance
You can use Object.entries() to get hold of both key and value at same time.
From MDN docs:
The Object.entries() method returns an array of a given object's own enumerable string-keyed property [key, value] pairs
Try something as below:
const someArray = Object.entries(someObject).map(([key, value]) => ({id: key, value: value}))
With Object.keys(), you can work as below:
let input = {
item1: "this is string field value",
item2: "FF FF A2 C4h"
};
let result: {id: string, value: string}[] = [];
Object.keys(input).forEach(function(k) {
let key = k as keyof typeof input;
result.push({
id: k,
value: input[key]
});
});