我似乎找不到答案,如何将数组中的数组更改为数组中的对象..??在 javaScript 中解决这个问题。如何转换?如何转换?我有这个数组。 [ "or", [ "or", { "status": 1 }, { "verified": 1 } ], [ "and", { "social_account": 1 }, { "enable_social": 1 } ]]我想要这个对象:{ "or": [ { "or": [ { "status": 1 }, { "verified": 1 } ] }, { "and": [ { "social_account": 1 }, { "enable_social": 1 } ] } ]}
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
您可以使用递归函数。基本情况是参数不是数组。在另一种情况下,提取第一个数组值作为对象的键,并通过递归函数映射数组的其余部分:
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));
添加回答
举报
0/150
提交
取消