Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 用JQuery填充表中的对象_Javascript_Jquery_Html_Json_Html Table - Fatal编程技术网

Javascript 用JQuery填充表中的对象

Javascript 用JQuery填充表中的对象,javascript,jquery,html,json,html-table,Javascript,Jquery,Html,Json,Html Table,我有一个对象数组object[{Date,Count,City}] 假设我有这个数据 [{01/01/01,10,纽约},{01/01/01,15,伦敦},{01/01/01,16,罗马},{02/01/01,40,纽约},{02/01/01,25,伦敦},{02/01/01,36,罗马}] 我想使用JQuery填充一个html表,并得到以下结果 Date | New York | London | Rome 01/01/01 | 10 | 15 | 16 02/01

我有一个对象数组object
[{Date,Count,City}]

假设我有这个数据

[{01/01/01,10,纽约},{01/01/01,15,伦敦},{01/01/01,16,罗马},{02/01/01,40,纽约},{02/01/01,25,伦敦},{02/01/01,36,罗马}]

我想使用JQuery填充一个html表,并得到以下结果

Date     | New York | London | Rome
01/01/01 | 10       | 15     | 16
02/01/01 | 40       | 25     | 36
是否可以使用JQuery生成类似于此的表

这就是我到目前为止所做的代码

for (var i = 0; i < countResult.length; i++) {
        var html = "<table><thead><tr><th>Date</th><th>City</th><th>Count</th></thead><tbody>";
        for (var j = 0; j < countResult[i].length; j++) {
            html += "<tr>";
            html += "<td>" + countResult[i][j].date + "</td><td>" + countResult[i][j].city + "</td><td>" + countResult[i][j].count+ "</td>";
        }
        html += "</tr>";

        html += "</tbody></table></br>";
        $(html).appendTo("#div");
    }
for(变量i=0;i”;
$(html)。附加到(“#div”);
}
试试这段代码

            var html='<table>';
            var arObj = YOUR ARRAY OBJECT;
                $(arObj).each(function(i, u) {

                    var Date = u[0];
                    var count = u[1];
                    var City=u[2];
                   html=html+'<tr><td>'+Date+'</td><td>'+count+'</td><td>'+City+'</td><td>';

                });
            html=html+'</table>';

我的问题的解决办法是:

    var countResult = [    
      ["01/01/01", 10, "New York"],    
      ["01/01/01", 15, "London"],     
      ["01/01/01", 16, "Rome"],     
      ["02/01/01", 40, "New York"],     
      ["02/01/01", 25, "London"],    
      ["02/01/01", 36, "Rome"]     
    ]  
    var cities = []

   $.each(countResult, function(rowNum, row) {
       var city = row[2];      
       if($.inArray(city, cities) < 0) cities.push(city);      
   });

    var html = "<table><thead><tr><th>Date</th>"
       + $.map(cities, function (c) {      
           return "<th>" + c      
    }).join("") + "</tr></thead><tbody>";          

    var summary = {};

    $.each(countResult, function
      (rowNum, row) {      
        if(!summary[row[0]]) summary[row[0]] = {}    
        summary[row[0]][row[2]] = row[1];      
    });

    $.each(summary, function (date, counts) {     
        html += "<tr><td>" + date;
        $.each(counts, function (i, ct) {     
           html += "<td>" + ct     ; 
        });      
        html += "</tr>";      
    });      
    $(html).appendTo("#div");
var countResult=[
[“01/01/01”,10,“纽约”],
[“01/01/01”,15,“伦敦”],
[“01/01/01”,16,“罗马”],
[“02/01/01”,40,“纽约”],
[“02/01/01”,25,“伦敦”],
[“02/01/01”,36,“罗马”]
]  
var cities=[]
$.each(countResult,函数(rowNum,row){
var city=第[2]行;
if($.inArray(城市,城市)<0)cities.push(城市);
});
var html=“日期”
+$.map(城市,功能(c){
返回“+c”
}).join(“”+“”);
var-summary={};
$.each(countResult,function
(rowNum,row){
如果(!summary[row[0]])summary[row[0]]={}
摘要[第[0]行][第[2]行]=第[1]行;
});
$.each(摘要、功能(日期、计数){
html+=“”+日期;
$.each(计数,函数(i,ct){
html+=“”+ct;
});      
html+=“”;
});      
$(html)。附加到(“#div”);

你一定试过什么?如果你能证明这一点,那是可能的。是的,我试过了,但我正在用整个对象填充表格。我将用我到现在为止所做的代码更新问题,谢谢你的回答,但是这个代码给出的结果与我上面发布的代码给出的结果相同。我想要一张类似于我在问题中发布的表格
    var countResult = [    
      ["01/01/01", 10, "New York"],    
      ["01/01/01", 15, "London"],     
      ["01/01/01", 16, "Rome"],     
      ["02/01/01", 40, "New York"],     
      ["02/01/01", 25, "London"],    
      ["02/01/01", 36, "Rome"]     
    ]  
    var cities = []

   $.each(countResult, function(rowNum, row) {
       var city = row[2];      
       if($.inArray(city, cities) < 0) cities.push(city);      
   });

    var html = "<table><thead><tr><th>Date</th>"
       + $.map(cities, function (c) {      
           return "<th>" + c      
    }).join("") + "</tr></thead><tbody>";          

    var summary = {};

    $.each(countResult, function
      (rowNum, row) {      
        if(!summary[row[0]]) summary[row[0]] = {}    
        summary[row[0]][row[2]] = row[1];      
    });

    $.each(summary, function (date, counts) {     
        html += "<tr><td>" + date;
        $.each(counts, function (i, ct) {     
           html += "<td>" + ct     ; 
        });      
        html += "</tr>";      
    });      
    $(html).appendTo("#div");