📌  相关文章
📜  jquery datatable 获取数组中的列值 - Javascript(1)

📅  最后修改于: 2023-12-03 15:02:09.504000             🧑  作者: Mango

jQuery Datatable 获取数组中的列值

当使用 jQuery Datatable 插件时,经常需要获取特定列的值。本文将介绍如何使用 Datatable 获取数组中的列值。

获取特定列的值

首先,我们需要初始化 Datatable。在初始化时,需要指定数据源 data 和列属性 columns

var data = [
  {"name": "John", "age": 23, "city": "New York"},
  {"name": "Tom", "age": 28, "city": "Los Angeles"},
  {"name": "Lucy", "age": 21, "city": "Chicago"}
];

var columns = [
  {data: "name", title: "Name"},
  {data: "age", title: "Age"},
  {data: "city", title: "City"}
];

$('#example').DataTable({
    data: data,
    columns: columns
});

现在,假设我们想获取第一列 Name 的值。我们可以使用 column().data() 方法来获取列数据。

var nameColumnData = $('#example').DataTable().column(0).data();
console.log(nameColumnData); // 输出 ["John", "Tom", "Lucy"]
获取多个列的值

如果我们需要获取多个列的值,可以使用 columns().data() 方法来获取所有列的数据。

var allColumnsData = $('#example').DataTable().columns().data();
console.log(allColumnsData); // 输出 [["John", "Tom", "Lucy"], [23, 28, 21], ["New York", "Los Angeles", "Chicago"]]

默认情况下,返回的数据是一个二维数组,其中每个数组都是一列数据。如果需要将其转换为一维数组,可以使用 toArray() 方法。

var allColumnsDataArray = allColumnsData.toArray();
console.log(allColumnsDataArray); // 输出 [["John", "Tom", "Lucy"], [23, 28, 21], ["New York", "Los Angeles", "Chicago"]]
获取特定列的可见数据

虽然 column().data() 方法可以获取所有列数据,但有时候我们只需要获取可见列的数据。可以使用 column().data().filter() 方法来过滤出可见列的数据。

var visibleNameColumnData = $('#example').DataTable().column(0).data().filter(':visible');
console.log(visibleNameColumnData); // 输出 ["John", "Tom", "Lucy"]
结论

在使用 jQuery Datatable 时,获取特定列的值是非常常见的需求。本文介绍了如何使用 column().data()columns().data() 方法来获取列数据,并且讨论了如何过滤出可见列的数据。