动态创建javascript/jquery多级数组
这让我快发疯了 假设我有这个:动态创建javascript/jquery多级数组,javascript,jquery,arrays,multidimensional-array,Javascript,Jquery,Arrays,Multidimensional Array,这让我快发疯了 假设我有这个: var tags = ["art","wedding"]; var containers = ["artcon","weddingcon"]; var limits = [5,15]; 我如何创建这种类型的多级阵列,就像这种结构 var testarr = [ "art" = [ "container" = "artcon", "limit" = 5, ], "wedding" = [ "co
var tags = ["art","wedding"];
var containers = ["artcon","weddingcon"];
var limits = [5,15];
我如何创建这种类型的多级阵列,就像这种结构
var testarr = [
"art" = [
"container" = "artcon",
"limit" = 5,
],
"wedding" = [
"container" = "weddingcon",
"limit" = 15,
]
];
致以问候。您可以使用并返回对象
var标签=[“艺术”、“婚礼”];
var containers=[“artcon”,“weddingcon”];
风险价值限额=[5,15];
var结果=标签。减少((res,e,i)=>{
res[e]={container:containers[i],limit:limits[i]}
返回res;
}, {})
console.log(结果)
这是对你的想法的一个非常简单的修改。请注意,在对象声明中,我们总是使用:
而不是=
。此外,对象声明使用大括号而不是方括号
我们能用这个物体做什么?我们可以循环使用它,尽管不如数组可靠。
例如,我们可以对(key in testarr)执行,循环将执行两次,一次执行key
为“art”
,另一次执行“wedding”
。对此有一些警告…但是在这样一个简单的用例中,您可能会很好
不过,如果您的问题是如何通过代码将这三个对象转换为该对象结构,请告诉我,因为现在您似乎只想了解对象或“多级数组”在这种情况下是如何工作的。只需要for
循环
var tags = ["art","wedding"];
var containers = ["artcon","weddingcon"];
var limits = [5,15];
//
var obj =[];
for(i in tags){
obj[tags[i]]=[containers[i],limits[i]];
}
console.log(obj);
//
答复:
[art: Array[2], wedding: Array[2]]
art:Array[2]
0:"artcon"
1:5
length:2
wedding:Array[2]
0:"weddingcon"
1:15
length:2
var标签=[“艺术”、“婚礼”];
var containers=[“artcon”,“weddingcon”];
风险价值限额=[5,15];
testarr=新数组();
用于(标签中的i){
var obj={};
obj[tags[i]={container:containers[i],limit:limits[i]};
测试推力(obj)
}
console.log(testarr);
console.log(testarr[0]);
console.log(testarr[1])代码>它被称为对象-这太棒了。我不知道要减价。这正是我所需要的。
[art: Array[2], wedding: Array[2]]
art:Array[2]
0:"artcon"
1:5
length:2
wedding:Array[2]
0:"weddingcon"
1:15
length:2