catspeake
2023-05-11 16:53:23
我似乎找不到答案,如何將數(shù)組中的數(shù)組更改為數(shù)組中的對(duì)象..??在 javaScript 中解決這個(gè)問(wèn)題。如何轉(zhuǎn)換?如何轉(zhuǎn)換?我有這個(gè)數(shù)組。 [ "or", [ "or", { "status": 1 }, { "verified": 1 } ], [ "and", { "social_account": 1 }, { "enable_social": 1 } ]]我想要這個(gè)對(duì)象:{ "or": [ { "or": [ { "status": 1 }, { "verified": 1 } ] }, { "and": [ { "social_account": 1 }, { "enable_social": 1 } ] } ]}
1 回答

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
您可以使用遞歸函數(shù)?;厩闆r是參數(shù)不是數(shù)組。在另一種情況下,提取第一個(gè)數(shù)組值作為對(duì)象的鍵,并通過(guò)遞歸函數(shù)映射數(shù)組的其余部分:
const convert = data => Array.isArray(data) && ["or","and"].includes(data[0])
? { [data[0]]: data.slice(1).map(convert) }
: data;
// demo:
let data = ["or",
["or", {"status": 1}, {"verified": 1}],
["and",{"social_account": 1}, {"enable_social": 1}]
];
console.log(convert(data));
添加回答
舉報(bào)
0/150
提交
取消