如何将此数组转换为对象

我似乎找不到答案,如何将数组中的数组更改为数组中的对象..??


在 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

            }

        ]

       }

   ]

}


catspeake
浏览 106回答 1
1回答

回首忆惘然

您可以使用递归函数。基本情况是参数不是数组。在另一种情况下,提取第一个数组值作为对象的键,并通过递归函数映射数组的其余部分: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));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript