为了账号安全,请及时绑定邮箱和手机立即绑定

如何将此数组转换为对象

如何将此数组转换为对象

catspeake 2023-05-11 16:53:23
我似乎找不到答案,如何将数组中的数组更改为数组中的对象..??在 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));


查看完整回答
反对 回复 2023-05-11
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信