{hero}

map()

起自:DataTables 1.10

使用回调函数返回的值定义结果集,创建一个新的 API 实例。

说明

map() 方法用于遍历结果集并创建一个实例,其结果集由返回的值定义。因此,可以对原始结果集的值应用任何逻辑条件,根据需要转换数据。

该方法利用了 DataTables API 对象具有“数组式”这一事实,因为它们继承了 JavaScript Array 类型的许多功能和方法。

重要的兼容性说明:此方法的实现方式与 ECMA-262 第 5 版的 Array.prototype.map 方法相同,不同于 jQuery 的 $.map 方法。主要区别在于如何处理返回值。ECMAScript 标准要求产生的数组(此例中为 DataTables API 实例)的长度与输入数组的长度相同,而 $.map 中并非如此。当使用 jQuery 的 $.map 方法时,可以返回 nullundefined 来从产生的数组中移除一项。在 ECMAScript 和这个 DataTables 方法中,这些值将用于新实例。

如果你希望从结果集中移除部分数据,请使用 filter() 方法。

此方法是 Javascript Array.prototype.map 方法的代理,并作为 DataTables API 的实用方法提供。有关原始方法的更多信息,请参阅 Mozilla MDN 关于 map 的文档。在不支持原生 map 的浏览器中,提供多态来允许此 DataTables 方法按预期操作。

类型

函数 map( fn )

说明

迭代 API 实例的结果集,根据回调返回的值创建一个新的 API 实例。

参数
返回

结果集中值与回调返回的值相同的新 API 实例。

示例

对一列的值求平方

var table = new DataTable('#myTable');

var squared = table
	.column(0)
	.data()
	.map(function (value, index) {
		return value * value;
	});