{hero}

pluck()

自:DataTables 1.10 起

使用目前結果集中物件的屬性值建立新的 API 實例。

描述

當您使用物件時,您可能經常會發現您需要一個僅包含來源物件的單一屬性的陣列。這通常需要編寫一個簡單的迴圈來建立該陣列,雖然在此,該迴圈是在此方法中執行的,從而減少了取得所需資料所需的程式碼量,使其成為一個簡單的函式呼叫。

此方法利用了 DataTables API 物件是「類似陣列」的事實,因為它們繼承了 Javascript Array 類型的許多功能和方法。

類型

function pluck( property )

描述

迭代 API 實例的結果集,從原始元素檢索的值建立新的 API 實例。

參數
回傳

新的 API 實例,其結果中的值是從被選取屬性定義的來源物件屬性中檢索的。

範例

從表格列的資料物件中選取 name 屬性

var table = $('#example').DataTable({
	data: [
		{
			name: 'Tiger Nixon',
			position: 'System Architect',
			salary: '$3,120',
			start_date: '2011/04/25',
			office: 'Edinburgh',
			extn: '5421'
		},
		{
			name: 'Garrett Winters',
			position: 'Director',
			salary: '$5,300',
			start_date: '2011/07/25',
			office: 'Edinburgh',
			extn: '8422'
		},
		{
			name: 'Ashton Cox',
			position: 'Technical Author',
			salary: '$4,800',
			start_date: '2009/01/12',
			office: 'San Francisco',
			extn: '1562'
		}
	],
	columns: [
		{ data: 'name' },
		{ data: 'position' },
		{ data: 'office' },
		{ data: 'extn' },
		{ data: 'start_date' },
		{ data: 'salary' }
	]
});

var names = table
	.rows()
	.data()
	.pluck('name');

巢狀資料 - 取得 salary 資料屬性

var table = $('#example').DataTable({
	data: [
		{
			name: 'Tiger Nixon',
			hr: {
				position: 'System Architect',
				salary: '$320,800',
				start_date: '2011/04/25'
			}
		},
		{
			name: 'Garrett Winters',
			hr: {
				position: 'Accountant',
				salary: '$170,750',
				start_date: '2011/07/25'
			}
		},
		{
			name: 'Ashton Cox',
			hr: {
				position: 'Junior Technical Author',
				salary: '$86,000',
				start_date: '2009/01/12'
			}
		}
	],
	columns: [{ data: 'name' }, { data: 'hr.position' }]
});

var salaries = table
	.rows()
	.data()
	.pluck('hr.salary');