我有一批 JSON 檔案,如下所示:
{
"properties": [
{
"Frame": "Yellow"
},
{
"Sky": "Apocalypse"
},
{
"Grass": "green"
},
{
"Sign": "sign"
},
{
"Graffitis": "shit"
},
{
"Things": "can"
},
{
"Quotes": "emptyness"
},
{
"Border": "framing"
},
{
"Logo": "logo"
},
{
"Overlay": "overlay"
}
]
}
我想修改它們,使它們看起來像這樣:
{
Border: "framing",
Frame: "Yellow",
Graffitis: "shit",
Grass: "green",
Logo: "logo",
Overlay: "overlay",
Quotes: "emptyness",
Sign: "sign",
Sky: "Apocalypse",
Things: "can"
}
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
像這樣使用Object.assign
const input = {
"properties": [
{
"Frame": "Yellow"
},
{
"Sky": "Apocalypse"
},
{
"Grass": "green"
},
{
"Sign": "sign"
},
{
"Graffitis": "shit"
},
{
"Things": "can"
},
{
"Quotes": "emptyness"
},
{
"Border": "framing"
},
{
"Logo": "logo"
},
{
"Overlay": "overlay"
}
]
}
const output = Object.assign({}, ...input.properties);
uj5u.com熱心網友回復:
您可以使用Array.prototype.reduce()和傳播語法在一行中完成此操作:
let obj = {
"properties": [{
"Frame": "Yellow"
}, {
"Sky": "Apocalypse"
}, {
"Grass": "green"
}, {
"Sign": "sign"
}, {
"Graffitis": "shit"
}, {
"Things": "can"
}, {
"Quotes": "emptyness"
}, {
"Border": "framing"
}, {
"Logo": "logo"
}, {
"Overlay": "overlay"
}]
}
console.log(obj["properties"].reduce((prev, current) =>
({ ...prev,
...current
}), {}))
uj5u.com熱心網友回復:
嘿,歡迎來到 StackOverflow!
我建議使用 for 回圈遍歷您從 json 決議的物件(JS 讀取 json 檔案并用作物件):
let newObject = {};
properties.forEach(property => {
Object.assign(newObject, property);
}
return newObject;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363926.html
標籤:javascript
上一篇:如何將輸入值保存到DOM并且在每個函式之后都不重置它們
下一篇:改變一個陣列
