繁体   English   中英

数据表传递带有对象为key:value的js数组

[英]datatables passing a js array with objects with key:value

我正在尝试通过将jquery对象传递给它来使用数据表。 这里是我从工作的数据表 ,这里是我的小提琴

示例中的数据集如下所示(仅值):

var dataSet = [
    [ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" ],
    [ "Garrett Winters", "Accountant", "Tokyo", "8422", "2011/07/25", "$170,750" ],...

但是我想要它工作的数据集是这样的(键:值):这是小提琴

    dataSet = [
    {"Name":"Unity Butler",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn.":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    },
  {"Name":"Unity Butler2",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn.":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    },
  {"Name":"Unity Butler3",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn.":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    }   
    ]

我想在数据表末端进行更改以接受我的key:value数据集,而不是将我的数据集重新格式化为数据表想要的格式。 所以我的问题是, 这可以做到吗? 还是在这种情况下,最佳做法是将数据集的格式更改为数据表所需的格式吗?

注意: 相关Q在这里


编辑1

tks到下面的@Tharsan Sivakumar,这是我的小提琴手,使用地图重新格式化数据集。

//reformat the dataset above from [{key:value,...},{}..] to [[value,...],[]]
dataSet = dataSet.map(function(d) {
  var arr = [];
  for (var key in d) {
    arr.push(d[key]);
  }
  return arr;
})

编辑2

这是另一个选择https://datatables.net/blog/2011-05-01

但数据必须采用以下格式:{“ aaData”:[{key:value,...},{} ...]}

{ "aaData": [
    {
        "engine": "Trident",
        "browser": "Internet Explorer 4.0",
        "platform": {
            "inner": "Win 95+",
            "details": [
                "4",
                "X"
            ]
        }
    },
    ...
    ]
}

或特定于此示例:

{ "aaData": [
    {"Name":"Unity Butler",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    },
  {"Name":"Unity Butler2",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    },
  {"Name":"Unity Butler3",
    "Position":"Marketing Designer",
    "Office":"San Francisco",
    "Extn":"5384",
    "Start date":"2009/12/09",
    "Salary":"$85,675"
    }   
    ] }

我试图在这里用小提琴来实现这一点,但是我无法访问files.txt "sAjaxSource": "files.txt",但是我已经在服务器上设置了目录,如下所示( EDIT3 github的工作示例 ):

-index.html
-/sources
+files.txt

只是不确定现在编辑1或2的最佳选择是什么?

根据“ 数据”选项卡官方表中的行必须是一个数组-因此,您需要使用jQuery的map函数或类似的东西,才能将对象转换为数组。 数组中的元素可以是对象或数组,但是行容器必须是数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM