[英]How can I restructure object to Array of objects to a specific format?
我有這個對象,我想重組它,如下面所需的輸出所示。 該IngriId
在期望輸出僅僅是Date.now()
我奮力重新安排這似乎是不可能給我。可這個被JavaScript這樣做,因為我很新的它,我很難找到它來實現?
輸入:
const Shopping = {
"meatsOutput": [
{
"val": "Chicken breast"
}
],
"spicesOutput": [
{
"amount": "½ tsp",
"val": "paprika"
}
],
"dairyOutput": [
{
"amount": "1/2 Cup",
"val": "yogurt"
},
{
"amount": "1/2 teaspoon",
"val": "heavy cream"
}
]
}
期望輸出:
const ShoppingList = [
{
"data": [{
"value": "Chicken breast",
"ingrId": "202237423fm16787",
}],
"name": "meatsOutput",
},
{
"data": [{
"amount": "½ tsp",
"value": "paprika",
"ingrId": "20223742381r787",
}],
"name": "spicesOutput",
},
{
"data": [{
"amount": "1/2 Cup",
"value": "yogurt",
"ingrId": "202237423816787",
}, ],
"name": "dairyOutput",
}
]
使用Object.entries
,您可以生成[key, value]
對數組,然后使用Array.prototype.map
,您可以將該數組更改為您想要的結果。
const input = { "meatsOutput": [{ "val": "Chicken breast" }], "spicesOutput": [{ "amount": "½ tsp", "val": "paprika" }], "dairyOutput": [{ "amount": "1/2 Cup", "val": "yogurt" }, { "amount": "1/2 teaspoon", "val": "heavy cream" } ] }; const result = Object.entries(input).map(([key, value]) => ({ name: key, data: value.map((item) => ({ ...item, ingrId: Date.now() })) })); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.