Javascript Datatable.js从对象生成表

Javascript Datatable.js从对象生成表,javascript,jquery,datatables,jquery-datatables,Javascript,Jquery,Datatables,Jquery Datatables,假设我有一组对象,每个对象都包含要存储到数据表中的数据。根据文档,我通常会这样做: var dataSet = [ ['Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X'], ['Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C'], ['Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A'],

假设我有一组对象,每个对象都包含要存储到数据表中的数据。根据文档,我通常会这样做:

var dataSet = [
    ['Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X'],
    ['Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C'],
    ['Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A'],
    ['Gecko', 'Camino 1.0', 'OSX.2+', '1.8', 'A'],
    ['Gecko', 'Camino 1.5', 'OSX.3+', '1.8', 'A'],
    ['Gecko', 'Netscape 7.2', 'Win 95+ / Mac OS 8.6-9.2', '1.7', 'A'],
    ['Gecko', 'Netscape Browser 8', 'Win 98SE+', '1.7', 'A'],
    ['Gecko', 'Netscape Navigator 9', 'Win 98+ / OSX.2+', '1.8', 'A'],
    ['Misc', 'PSP browser', 'PSP', '-', 'C'],
    ['Other browsers', 'All others', '-', '-', 'U']
];
但我的数据是以对象数组的形式呈现的。我可以在for循环中遍历它们并获得每一条数据吗?例如,如果我有一个对象obj,它包含一个标题和一些数据,则以下操作不起作用:

var finalObj = "["
for (var i = 0; i < obj.length; i++) {
    finalObj = finalObj + "['" + obj[i].title + "','" + obj[i].data + "']";
}
finalobj = finalObj + "]";
var finalObj=“[”
对于(变量i=0;i

这导致我的datatable每列只包含一个字母。创建字符串(或其他对象)的正确方法是什么?可以使用初始化对象中的选项,传入要使用的数据数组(与所有其他数据表处理的数据一样,这可以是使用该选项的数组或对象)

有关代码和演示,请参见下面的示例

$(文档).ready(函数(){
var obj=[
{
“头衔”:“老虎尼克松”,
“数据”:“系统架构师”
},
{
“标题”:“Garrett Winters”,
“数据”:“会计”
},
{
“头衔”:“阿什顿·考克斯”,
“数据”:“初级技术作者”
}
];
$('#示例')。数据表({
“数据”:obj,
“栏目”:[
{“数据”:“标题”},
{“数据”:“数据”}
]
});
});

DataTables-JS-Bin
标题
资料
标题
资料

我想你需要关于

正如您自己看到的,它使用以下代码创建表

 $('#example').dataTable( {
        "data": dataSet,
        "columns": [
            { "title": "Engine" },
            { "title": "Browser" },
            { "title": "Platform" },
            { "title": "Version", "class": "center" },
            { "title": "Grade", "class": "center" }
        ]
    } );   

所以这里的数据看起来是硬编码的。泰格·尼克松(Tiger Nixon)的信息说,我在寻找如果我有一个可以保存的对象该怎么办。我怎么把它转换成这个?我会使用
“\”name\”:“+obj[I].name
?@Cptn\u Hammer,我的
数据
变量是一个对象,而不是您试图生成的字符串。您只需将
obj
作为
“data”:obj
传递,而不是在我的示例中传递
“data”:data
,并在
列中定义对象属性。data
选项。@Cptn\u Hammer,更改了我的示例以匹配您的结构。是的,这就是我在问题中引用的示例。:)但我不知道如何使用它从对象中获取数据。在这里,我似乎仍然需要提前知道我的数据是什么。您使用的json没有提供具体的数据。这只是数据,你必须知道它们代表什么。现在,如果您有一个属性描述值的对象,您可以执行以下操作来填充表:$.each(您的对象、函数(索引、值){$(“#您的#表”).DataTable().row.add([value.property1,value.property2,…,value.propertyN]).draw();});