从JavaScript数组打印值

从JavaScript数组打印值,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个如下所示的数组(完整列表为): 我试着把每一部分都打印到一张表上。如果我专门针对某个值,我可以访问该值,但我需要能够将所有值打印到s中。数组的每个部分都是一个,其中的值是标记 最好的方法是什么?有没有更好的方法来设置数据并与之交互?有一些非常好的工具可以从这些数据结构创建表。考虑使用jQuery和DATABATION插件。 以下是一些链接: jQuery: Datatables:使用嵌套for循环创建表应该不会太难(示例使用jQuery构建元素……但显然不必): 编辑 删除了jQuery

我有一个如下所示的数组(完整列表为):

我试着把每一部分都打印到一张表上。如果我专门针对某个值,我可以访问该值,但我需要能够将所有值打印到
s中。数组的每个部分都是一个
,其中的值是
标记


最好的方法是什么?有没有更好的方法来设置数据并与之交互?

有一些非常好的工具可以从这些数据结构创建表。考虑使用jQuery和DATABATION插件。 以下是一些链接:

jQuery:


Datatables:

使用嵌套for循环创建表应该不会太难(示例使用jQuery构建元素……但显然不必):

编辑

删除了jQuery,因为它似乎困扰着每个人(即使控制结构是示例的重要部分):

试试下面的方法

for (var i = 0; i < verbMath.length; i++) {
  var row = document.createElement('tr'); 
  var item = verbMath[i];
  for (var prop in item) {
    if (item.hasOwnProperty(prop)) {
      var data = document.createElement('td');
      data.innerText = item[prop];
      row.appendChild(data);
    }
  }

  // Need to append the row here to the appropriate place in your DOM
}
for(变量i=0;i
Firefox不支持
innerText
,因此最好创建一个文本节点并将其添加到子节点。最好定义一个数组来保证列的顺序,并在必要时轻松地对其进行更改

var table = document.getElementById("tbl"), i, j, tr, td, text;

var order = ["infinitive", "thirdPres", "thirdPast", "aux", "pastPart", "english"]

for(i=0; i<verbMap.length; i++){
    tr = document.createElement('tr');
    for(j = 0; j<order.length; j++){
         td = document.createElement('td');
         text = document.createTextNode(verbMap[i][order[j]]);
         td.appendChild(text);
         tr.appendChild(td);
    }
    table.appendChild(tr);
}
var table=document.getElementById(“tbl”)、i、j、tr、td、text;
变量顺序=[“不定式”、“第三人称”、“第三人称”、“辅助”、“过去部分”、“英语”]

对于(i=0;我尝试过使用jQuery,但我不确定如何使用它。@AndrewPeacock,是的,当你只想钉一个简单的钉子时,你可能会得到一个完整的工具箱,但如果你花一点时间使用它,你很快不仅可以找到锤子,而且还可以享受使用整套工具更快地完成工作。我知道数量相当可观,但对于像这样更复杂的问题,我迷路了。这需要jQuery,但问题没有jQuery标记。@Peter Olson-我在文章中提到了这一点。这个示例旨在显示所使用的循环,而不是确切地显示如何构建元素。jQuery没有以任何方式被请求或指示。@AndrewPeacock
innerText
是非标准的,Firefox不支持。如果您需要该浏览器,请参阅我的答案。+1用于使用纯javascript(因为没有请求或指示jQuery)以及包含hasOwnProperty()的使用。非常感谢。我只是将此作为一个简单的学习指南,主要是为我自己,因此跨浏览器兼容性不是一个问题。如果我将来需要使用此工具,这将非常有用,谢谢。
for (var i = 0; i < verbMath.length; i++) {
  var row = document.createElement('tr'); 
  var item = verbMath[i];
  for (var prop in item) {
    if (item.hasOwnProperty(prop)) {
      var data = document.createElement('td');
      data.innerText = item[prop];
      row.appendChild(data);
    }
  }

  // Need to append the row here to the appropriate place in your DOM
}
var table = document.getElementById("tbl"), i, j, tr, td, text;

var order = ["infinitive", "thirdPres", "thirdPast", "aux", "pastPart", "english"]

for(i=0; i<verbMap.length; i++){
    tr = document.createElement('tr');
    for(j = 0; j<order.length; j++){
         td = document.createElement('td');
         text = document.createTextNode(verbMap[i][order[j]]);
         td.appendChild(text);
         tr.appendChild(td);
    }
    table.appendChild(tr);
}