map()
起自:DataTables 1.10
使用回调函数返回的值定义结果集,创建一个新的 API 实例。
说明
map()
方法用于遍历结果集并创建一个实例,其结果集由返回的值定义。因此,可以对原始结果集的值应用任何逻辑条件,根据需要转换数据。
该方法利用了 DataTables API 对象具有“数组式”这一事实,因为它们继承了 JavaScript Array
类型的许多功能和方法。
重要的兼容性说明:此方法的实现方式与 ECMA-262 第 5 版的 Array.prototype.map
方法相同,不同于 jQuery 的 $.map
方法。主要区别在于如何处理返回值。ECMAScript 标准要求产生的数组(此例中为 DataTables API 实例)的长度与输入数组的长度相同,而 $.map
中并非如此。当使用 jQuery 的 $.map
方法时,可以返回 null
或 undefined
来从产生的数组中移除一项。在 ECMAScript 和这个 DataTables 方法中,这些值将用于新实例。
如果你希望从结果集中移除部分数据,请使用 filter()
方法。
此方法是 Javascript Array.prototype.map
方法的代理,并作为 DataTables API 的实用方法提供。有关原始方法的更多信息,请参阅 Mozilla MDN 关于 map
的文档。在不支持原生 map
的浏览器中,提供多态来允许此 DataTables 方法按预期操作。
类型
示例
对一列的值求平方
var table = new DataTable('#myTable');
var squared = table
.column(0)
.data()
.map(function (value, index) {
return value * value;
});