Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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
将JSON添加到Javascript中的嵌套JSON_Javascript_Angularjs_Json - Fatal编程技术网

将JSON添加到Javascript中的嵌套JSON

将JSON添加到Javascript中的嵌套JSON,javascript,angularjs,json,Javascript,Angularjs,Json,我使用ng repeat为行和列创建了一个表 ng-model="tableValues[row][column]" 这里的行和列值来自ng repeat。表格数据是下拉列表。我想从值列表中填充此数据 从控制器向ng模型写入值时,会覆盖列的值 var x ={}; for(objData){ row = objData[i]["row"]; column = objData[i]["column"]; value = objData[i]["va

我使用ng repeat为行和列创建了一个表

ng-model="tableValues[row][column]"
这里的行和列值来自ng repeat。表格数据是下拉列表。我想从值列表中填充此数据

从控制器向ng模型写入值时,会覆盖列的值

var x ={};
for(objData){
        row = objData[i]["row"];
        column = objData[i]["column"];
        value = objData[i]["value"];
        x[row]={};
        x[row][column]=value;
        vm.tableValues=x;
}
{"r1":{"c1":"v1"},"r2":{"c2":"v2"},"r3":{"c2":"v2"}}
//objData是一个对象数组,每个对象都包含值及其对应的行和列

这将创建正确的JSON,但会覆盖列的值

var x ={};
for(objData){
        row = objData[i]["row"];
        column = objData[i]["column"];
        value = objData[i]["value"];
        x[row]={};
        x[row][column]=value;
        vm.tableValues=x;
}
{"r1":{"c1":"v1"},"r2":{"c2":"v2"},"r3":{"c2":"v2"}}
我想要什么

{"r1":{"c1":"v1","c2":"v2","c3":v3,"c4":"v4"},
{"r2":{"c1":"v1","c2":"v2","c3":v3,"c4":"v4"}.......} 
so forth..

它不是通过逗号将所有列值放在JSON行中,而是覆盖前面的列值

您可以在行和列上使用reduce:

变量行=['r1','r2','r3','r4','r5']; 变量列=['c1','c2','c3']; var值=['v1','v2','v3']; 设res=rows.reducep,k=>{ p[k]=columns.reducea,b,i=>{ a[b]=值[i]| |无值; 返回a; }, {}; 返回p; }, {}; console.logres 试试这个:

var x={}; 变量行=[r1、r2、r3、r4、r5] 变量列=[c1、c2、c3] var值=[v1、v2、v3]
forvar i=0;我在一排排的柱子上。您之所以得到这个结果,是因为您仅在数组行上循环。或者将循环代码粘贴到此处循环用于在每个对象中包含行、列和值的对象列表。你能帮我解决我做错了什么吗?谢谢。当长度和列数组不相同时该怎么办。为了更好地理解,我编辑了我的问题。@Api我看不到您的问题中关于应该发生什么的解释,但我编辑了我的答案,以便在值数组中不匹配的情况下返回默认值。我的列值数与值数不同。你能不能再看一次我的问题?我又更新了一次。我的问题不适用,请看我编辑的问题,以便更准确地反映情况。