{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 的瀏覽器中,會提供一個 polyfill,以使此 DataTables 方法可以按預期運作。

類型

function map( fn )

描述

迭代 API 實例的結果集,並從回呼傳回的值建立新的 API 實例。

參數
傳回

新的 API 實例,其結果集中的值為回呼函式傳回的值。

範例

計算欄位值的平方

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

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