gpt4 book ai didi

javascript - 将三个数组转换为嵌套对象

转载 作者:行者123 更新时间:2023-11-28 04:09:16 25 4
gpt4 key购买 nike

我想创建一个嵌套对象,如下所示

var obj; 
obj = [
{
"a": {
"A" : "aA",
"B" : "aB",
"C" : "aC"
}

},
{
"b": {
"A" : "bA",
"B" : "bB",
"C" : "bC"
}

},
{
"c": {
"A" : "cA",
"B" : "cB",
"C" : "cC"
}

},
]


来自这样的三个数组

var arr1 = ["a","b","c"]
var arr2 = ["A","B","C"]
var arr3 = [["aA","aB","aC"],["bA","bB","bC"], ["cA","cB","cC"]]

使用 lodash 或 es6 有简单的方法吗?我本质上是使用另一个函数从 arr1arr2 生成 arr3 。但这在这里没有多大意义,但是如果我要创建这样的多个数据数组,并且我想通过组合数组来生成类似 JSON 的对象,有什么方便的方法呢?是否有关于从多个数组(可能超过 3 个数组)创建多层嵌套对象的文档?

我的努力...

arr1.forEach((item)=>{
arr2.forEach((prop)=>{
obj[item] = {}
obj[item][prop] = prop
})
})

最佳答案

试试这个:

  var arr1 = ["a","b","c"];
var arr2 = ["A","B","C"];
var arr3 = [["aA","aB","aC"],["bA","bB","bC"], ["cA","cB","cC"]];
var obj=[]; //initializing empty obj array
for (i=0;i<arr1.length;i++){ // loop for creating outer objects
var insideObj = {}, sampleObj={};
for (j=0;j<arr2.length;j++) // loop for creating inner objects
insideObj[arr2[j]]=arr3[i][j]; // creating inner objects like {"A":"cA","B":"cB","C":"cC"}
sampleObj[arr1[i]]= insideObj; // assigning inner object as value of outer object
obj.push(sampleObj); // pushing outer object to my obj array
}

关于javascript - 将三个数组转换为嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46442375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com