Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要在javascript中创建嵌套对象,链接3个用户输入数组以创建树状模式_Javascript_Jquery_Html - Fatal编程技术网

需要在javascript中创建嵌套对象,链接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

如果有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:['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元素显示这些结果吗