首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JS填充具有错误顺序的数据的HTML表

使用JS填充具有错误顺序的数据的HTML表
EN

Stack Overflow用户
提问于 2012-07-08 03:22:51
回答 1查看 273关注 0票数 0

我有一个通过迭代现有表收集的数据数组,如下所示:

代码语言:javascript
复制
    ---------------
    Mon | Hot  | 12 
    ---------------
    Tue | Cold | -2 
    ---------------
    Wed | Warm | 3  
    ---------------
    Thu | Cold | -4 
    ---------------
    Fri | Cold | -3 
    ---------------

数组中的数据存储为:'Mon','Hot','12','Tue','Cold','-2‘。等等。

现在需要在翻转了行和列的表中显示数据,以便数据如下所示:

代码语言:javascript
复制
Mon | Tue  | Wed  | Thu  | Fri
-------------------------------
Hot | Cold | Warm | Cold | Cold
-------------------------------
12  | -2   | 2    | -4   | -3

我正在努力寻找正确的循环语句来正确地打印数据。

到目前为止,我有以下几点:

代码语言:javascript
复制
for (i = 0; i < weather_data.length; i++)
{                                                        
    if (i%5==0)
    {
        table.push('<tr><td>'+weather_data[i*3]+'</td>');
    }
    else if(i%4==0)
    {
        table.push('<td>'+weather_data[i*3]+'</td></tr>');
    }
    else
    {
        table.push('<td>'+weather_data[i*3]+'</td>');
    }
}

它正确地显示了第一行,但其余的都是未定义的,因为调用的索引对于数组来说显然太大了。我已经计算出第二行需要调用以下索引:((index-5)*3)+1,但第三行也将需要不同的索引调用。必须有一个对所有行都有效的方程式。这一定是一个相当常见的操作!

生成的表需要按以下顺序显示索引:

代码语言:javascript
复制
0   3   6   9   12
1   4   7   10  13
2   5   8   11  14

所以循环需要按照从左到右,然后是下一行的顺序生成它们。

~还需要分别添加必要的起始<tr></tr>标签。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-08 03:34:55

代码语言:javascript
复制
var data = ['Mon', 'Hot', '12', 'Tue', 'Cold', '-2', 
            'Wed', 'Warm', '3', 'Thu', 'Cold', '-4'];
var width = 3;
var height = data.length / width;
var r = "";
for(var i = 0; i < width; i++) {
  var row = [];
  for(var j = 0; j < height; j++) {
    row.push("<td>" + data[j * width + i] + "</td>");
  }
  r += "<tr>" + row.join("") + "</tr>";
}  

$("#container_id").html("<table>" + r + "</table>");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11377980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档