Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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对象作为数据源合并两个HTML表?_Javascript_Html_Css_Object - Fatal编程技术网

使用Javascript对象作为数据源合并两个HTML表?

使用Javascript对象作为数据源合并两个HTML表?,javascript,html,css,object,Javascript,Html,Css,Object,我将有多个数组,我想从数组中创建对象,然后将其合并到一个表中。我已经这样做了,但是我需要帮助使用对象来制作一个更大的表 如果一个键存在于一个对象中,而其他对象中不存在,则该键不存在的对象的值可以为空。我可以制作多个不同的表格,但如何合并它们以使表格更大 var data=[[“默认项目”、“允许”、“连接”、“允许”、“添加注释”、“允许”、“写入”, “允许”、“ViewComments”、“Allow”、“ExportData”、“Allow”、“ExportImage”、“Allow”、

我将有多个数组,我想从数组中创建对象,然后将其合并到一个表中。我已经这样做了,但是我需要帮助使用对象来制作一个更大的表

如果一个键存在于一个对象中,而其他对象中不存在,则该键不存在的对象的值可以为空。我可以制作多个不同的表格,但如何合并它们以使表格更大

var data=[[“默认项目”、“允许”、“连接”、“允许”、“添加注释”、“允许”、“写入”,
“允许”、“ViewComments”、“Allow”、“ExportData”、“Allow”、“ExportImage”、“Allow”、“ViewUnderlineData”、“Allow”、“Read”、“Allow”、“ShareView”、“Allow”、“Filter”],
[“允许”、“导出图像”、“允许”、“写入”、“允许”、“查看评论”,
“允许”、“共享视图”、“允许”、“筛选”、“允许”、“导出数据”、“允许”、“连接”、“允许”,
“读取”、“允许”、“查看参考数据”、“允许”、“添加注释”、“允许”、“查看注释”、“拒绝”、“导出数据”、“允许”,
“AddComment”、“Deny”、“Write”、“Allow”、“Read”、“Deny”、“ExportXml”、“Deny”、“ShareView”、“Allow”、“Connect”、“Allow”、“ChangeHierarchy”、“Allow”,
“WebAuthoring”、“Deny”、“ViewUnderlineData”、“Deny”、“Filter”、“Deny”、“ExportImage”]];
var结果=[];
对于(变量i=0,len=data.length;i=1;j=j-2){
var key=list[j];
var值=列表[j-1];
如果(结果[i][key]!=“拒绝”){
结果[i][key]=值;
}
}
}
控制台日志(结果);
var resultElement=document.getElementById('result1');
var tpl=“”;
for(var t=0,tLen=result.length;t
表格{文本对齐:左;宽度:100%;页边距底部:50px;边框折叠:折叠;}
td,th{宽度:50%;边框:1px纯黑色;线宽:1;填充:2px 10px;}
[colspan=“2”]{颜色:蓝色;字体大小:粗体;文本转换:大写;文本对齐:居中;}

这将合并两个表

var data=[[“默认项目”、“允许”、“连接”、“允许”、“添加注释”、“允许”、“写入”,
“允许”、“ViewComments”、“Allow”、“ExportData”、“Allow”、“ExportImage”、“Allow”、“ViewUnderlineData”、“Allow”、“Read”、“Allow”、“ShareView”、“Allow”、“Filter”],
[“test_PROJECT”、“Allow”、“ExportImage”、“Allow”、“Write”、“Allow”、“ViewComments”,
“允许”、“共享视图”、“允许”、“筛选”、“允许”、“导出数据”、“允许”、“连接”、“允许”,
“读取”、“允许”、“查看参考数据”、“允许”、“添加注释”、“允许”、“查看注释”、“拒绝”、“导出数据”、“允许”,
“AddComment”、“Deny”、“Write”、“Allow”、“Read”、“Deny”、“ExportXml”、“Deny”、“ShareView”、“Allow”、“Connect”、“Allow”、“ChangeHierarchy”、“Allow”,
“WebAuthoring”、“Deny”、“ViewUnderlineData”、“Deny”、“Filter”、“Deny”、“ExportImage”]];
函数makeObjects(数据){
结果=[];
对于(变量i=0,len=data.length;i=1;j=j-2){
var key=list[j];
var值=列表[j-1];
如果(结果[i][key]!=“拒绝”){
结果[i][key]=值;
}
}
}
返回结果;
}
功能sortObject(obj){
返回Object.keys(obj.sort().reduce(函数(结果,键){
结果[键]=对象[键];
返回结果;
}, {});
}
函数getKeys(数据){
var键=[];

对于(i=0;我可以用所需结果的HTML模型创建另一个JSFIDLE。现在,还不清楚您希望最终合并表是什么样子。@AndyNoelker是的,对不起,我正在处理小提琴和更新。@AndyNoelker我也在尝试对每个对象的键进行排序,以使键彼此对齐,这就是为什么我真的很想。我尝试了一下我认为你想要的。如果这不是期望的结果,请告诉我。呃,我想把它做成一个表格,看看底部。每个项目都有一行,然后是权限。我需要它们的键来排列,如果没有键,那么单元格应该是空白的?啊,好的,现在我明白你的意思了。给我稍微修改一下,我会更新我的答案。谢谢,谢谢。我也在研究另一个提琴来帮助改进它。完成后我会与大家分享。这可能会有帮助:我对每个对象进行了更改,对其进行排序,然后在对象没有该键的情况下将其作为空值添加。这样会更容易以表格格式存储。谢谢。是的,那一秒fiddle绝对是正确的方向。我编辑了我的答案,现在它可以按照你的要求工作了。