需要在javascript中创建嵌套对象,链接3个用户输入数组以创建树状模式
如果有3个数组需要在javascript中创建嵌套对象,链接3个用户输入数组以创建树状模式,javascript,jquery,html,Javascript,Jquery,Html,如果有3个数组 var a=[1,2,3]; var b=[1.1,1.2,'',2.1,2.2,2.3,'',3.1,3.2,3.3]; var c=['xyz','abc',' ','uvw',' ','opq','rst','cde',' ','hij',' ','stu','wxy','nop',' ','def',' ','fgh']; 元素的链接应确保{key:1,val:{key:1.1,val:['xyz','abc']},{key:1,val:{key:1.2,val:['u
var a=[1,2,3];
var b=[1.1,1.2,'',2.1,2.2,2.3,'',3.1,3.2,3.3];
var c=['xyz','abc',' ','uvw',' ','opq','rst','cde',' ','hij',' ','stu','wxy','nop',' ','def',' ','fgh'];
元素的链接应确保{key:1,val:{key:1.1,val:['xyz','abc']},{key:1,val:{key:1.2,val:['uvw']}
。
数组b和c中的元素分别由空字符“”和空格“”分隔。我需要一种方法为树状模式创建嵌套关联数组。
我用以下方式链接了2个数组。我现在需要它来连接3个数组
<p id="ext">Extended: </p>
<script type="text/javascript">
var a=[1,2,3,4];
var b = [1.1,1.2,1.3,'',2.1,2.2,'',3.1,3.2,3.3,'',4.1,'',5.1,5.2,'',6.1,6.2,''];
//var arr = [];
var obj = {};
$('#ini').append(JSON.stringify(obj));
//var i = 0, j = 0
var j = 0; var bArr= [];
var soln = {};
for(i=0;i<b.length;i++){
if(b[i]==''){
bArr=[];
$('#ext').append(JSON.stringify(obj));
if(j==a.length){
var elem = 'undefined';
$.extend(obj,{key: elem, val:bArr});
}
++j;
continue;
}
else{
console.log(i);
//console.log(j);
var elem = a[j];
bArr.push(b[i]);
$.extend(obj,{key: elem, val:bArr});
//j++;
}
//soln.key = elem;
//soln.val = bArr;
}
//$('#ext').append(JSON.stringify(obj));
</script>
扩展:
var a=[1,2,3,4];
变量b=[1.1,1.2,1.3',2.1,2.2',3.1,3.2,3.3',4.1',5.1,5.2',6.1,6.2',];
//var-arr=[];
var obj={};
$('#ini').append(JSON.stringify(obj));
//变量i=0,j=0
var j=0;var bArr=[];
var soln={};
对于(i=0;i您可以使用并返回其他项的组合对象,每个嵌套数组和循环都有一个索引,直到找到停止标记,然后推到内部数组。增加循环后的最后一个索引以及下一个项的索引
var data1=[1,2,3],
数据2=[1.1,1.2',2.1,2.2,2.3',3.1,3.2,3.3],
数据3=['xyz','abc','uvw','opq','rst','cde','hij','stu','wxy','nop','def','fgh'],
index2=0,
index3=0,
结果=数据1.map(函数(a){
VarO1={key:a,val:[]},o2,o3;
while(index2
您可以使用并返回其他项的组合对象,每个嵌套数组和循环都有一个索引,直到找到停止标记,然后推到内部数组。增加循环后的最后一个索引,以及下一个项的索引
var data1=[1,2,3],
数据2=[1.1,1.2',2.1,2.2,2.3',3.1,3.2,3.3],
数据3=['xyz','abc','uvw','opq','rst','cde','hij','stu','wxy','nop','def','fgh'],
index2=0,
index3=0,
结果=数据1.map(函数(a){
VarO1={key:a,val:[]},o2,o3;
while(index2
请添加想要的结果和您尝试过的代码。也请看一下这里。这似乎是一个非常混乱的数据结构。我的意思是,您正在创建一个包含一组其他对象的对象,其中每个对象只有两个属性(字面上的key
和val
)。整个结构看起来很奇怪,很难使用。我想让它变得更简单,更符合逻辑。请添加想要的结果和代码,您已经尝试过了。请看这里,这似乎是一个非常混乱的数据结构。我的意思是,您正在创建一个包含一组其他对象的对象,其中每个对象只有两个属性ies(字面上的key
和val
)。整个结构看起来很奇怪,很难使用。我想让它更简单、更具逻辑性。这正是我需要的。你能告诉我如何在浏览器上以html元素显示这些结果吗?谢谢这正是我需要的。你能告诉我如何在浏览器上以html元素显示这些结果吗