尚方寶劍之說
2022-09-16 20:50:23
有點奇怪的請求,但我需要一些幫助來編寫一個函數(shù),該函數(shù)將轉(zhuǎn)換一些看起來像這樣的JSON(非常人為的示例抱歉):{ "userDetails": [ { "name": "DOM", "age": 30, "comments": [ { "text": "Text" }, { "text": "HELLO", "stuff": [ { "name": "DOM" } ] } ] } ], "items": [ { "name": "A" }, { "name": "B" } ]}我想要:{ "userDetails": { "name": "DOM", "age": 30, "comments": [ { "text": "Text" }, { "text": "HELLO", "stuff": { "name": "DOM" } } ] } "items": [ { "name": "A" }, { "name": "B" } ]}因此,僅對具有 1 個元素的數(shù)組進(jìn)行去害,僅此而已。希望使用洛達(dá)什褶皺的解決方案。
1 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗 獲得超13個贊
簡單的樹遍歷和展開數(shù)組長度 1
注意:就地發(fā)生突變
data={
"userDetails": [{
"name": "DOM",
"age": 30,
"arr": [{"c":"c"}]
}],
"items": [
{
"name": [{"A": [[[["A"],["B"]]]]}]
},
{
"name": "B"
}
]
}
walk = (node,k) => {
if(typeof node[k] === 'object')
for(const key of Object.keys(node[k])) walk(node[k],key)
if(Array.isArray(node[k]) && node[k].length === 1)
node[k]=node[k][0]
}
walk({data},'data')
console.log(data)
添加回答
舉報
0/150
提交
取消