Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
使用jquery或javascript从作为数组的json结构绘制表_Javascript_Jquery_Json_Jquery Ui_Javascript Objects - Fatal编程技术网

使用jquery或javascript从作为数组的json结构绘制表

使用jquery或javascript从作为数组的json结构绘制表,javascript,jquery,json,jquery-ui,javascript-objects,Javascript,Jquery,Json,Jquery Ui,Javascript Objects,我得到一个JSON对象。我必须从中打印一个表格结构。调试后,我发现该对象如下所示 tableData = {title: "Schema", cellValues: Array[2], id: 1, name: "CSV", type: "table"} 当我进行进一步调试时,我发现了以下结果 var tableRows = tableData.cellValues; tableRows = [Array[4], Array[4]] 如果我做一个console.log(tableRows),

我得到一个JSON对象。我必须从中打印一个表格结构。调试后,我发现该对象如下所示

tableData = {title: "Schema", cellValues: Array[2], id: 1, name: "CSV", type: "table"}
当我进行进一步调试时,我发现了以下结果

var tableRows = tableData.cellValues;
tableRows = [Array[4], Array[4]]
如果我做一个console.log(tableRows),它会给出-->
c1、c2、c3、c4、DoubleType、DoubleType、DoubleType、DoubleType、DoubleType

我必须以表格的形式把它打印出来

c1      count       c1      count
DoubleType  LongType    DoubleType  LongType

我不知道该怎么做。如何操作它来获得表结构。我会非常感激你的帮助。谢谢..

我可以试试这样的东西。我使用了三行数据,包括标题数据来扩展演示

var tableData = {
  cellValues: [
    ['c1', 'c2', 'c3', 'c4'],
    ['DoubleType', 'longType', 'DoubleType', 'longType'],
    ['Bob', 'Dave', 'Bob', 'Dave']
  ]
}
将cellValues中的第一个数组移到
headerData
<代码>车身数据是剩下的

var headerData = tableData.cellValues.shift();
var bodyData = tableData.cellValues;
基于Hashmap的助手函数,该函数根据类型提供单元格行

function buildCells(data, type) {
  return {
    header: '<th>' + data.join('</th><th>') + '</th>',
    row: '<td>' + data.join('</td><td>') + '</td>'
  }[type];
}
用适当的标记填充标题、正文和最后的表格

var header = ['<thead>', buildCells(headerData, 'header'), '</thead>'].join('');
var body = ['<tbody>', rows.join(''), '</tbody>'].join('');
var table = ['<table>', header, body, '</table>'].join('');
var header=['',buildCells(headerData,'header'),'')。连接('';
var body=['',rows.join('','').join('');
变量表=['',标题,正文,''。联接('';
现在你可以用HTML做你喜欢的事情了。在本例中,我使用
insertAdjacentHTML
将其添加到元素中


可能重复的
longType
来自何处?我想说的是,您的单元格值似乎与所需的输出不匹配。@MikeC。。我认为情况不同。因为,在JSON中,当我在调试模式下运行时,我得到的数据是cellValues:Array[2]。如果我像你刚才提到的那个样,构建起来会容易得多。@Andy对不起,这是打字错误。。它的DoubleType@Andy我想举个例子。。这张桌子应该是什么样子。。2行和列的数量取决于我得到的值的数量
var rows = bodyData.reduce(function(p, c) {
  return p.concat(buildRow(c));
}, []);
var header = ['<thead>', buildCells(headerData, 'header'), '</thead>'].join('');
var body = ['<tbody>', rows.join(''), '</tbody>'].join('');
var table = ['<table>', header, body, '</table>'].join('');