[英]How to parse object to array in TS?
我必須解析 object,如下所示:
const obj = {
"package": {
"dependencies": {
"a": "b",
"c": "d"
}
}
}
到這種格式:
const data = {
"package": [
{
"dependencies": [
{ key: "a", value: "b" },
{ key: "c", value: "d" }
]
}
]
}
有人可以告訴我該怎么做嗎? 謝謝你的幫助!
這絕對是可能的。 在不了解用例的情況下,我覺得這種轉換可能會給您帶來更多問題。 無論如何,以下是實現這一目標的一種方法。
const obj = {
"package": {
"dependencies": {
"a": "b",
"c": "d"
}
}
}
const packageArray = {
package: [
{
dependencies: Object.entries(obj.package.dependencies)
.map(([key, value]) => ({[key]: value}))
}
]
像這樣的東西應該工作:
const data = {...obj} // Copy the initial object
data.package.dependencies= Object.entries(obj.package.dependencies)
.map(([key, value])=>({key,value}))
正如已經指出的, Object.entries
+ Array.prototype.map
將提供所需的轉換:
const obj = {
"package": {
"dependencies": {
"a": "b",
"c": "d"
}
}
};
const data = {
package: {
dependencies: Object.entries(obj.package.dependencies).map(([key, value]) => ({key, value}))
}
};
console.log(JSON.stringify(data, null, " "));
Output:
{
"package": {
"dependencies": [
{
"key": "a",
"value": "b"
},
{
"key": "c",
"value": "d"
}
]
}
}
TypeScript 操場鏈接在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.