{hero}

pluck()

自:DataTables 1.10

使用当前结果集中对象中某一属性的值创建一个新的 API 实例。

说明

当处理对象时,你可能经常希望有一个数组,其中仅包含源对象的某个属性。这通常涉及编写一个简单的循环来创建该数组,但在这里,此循环在此方法中执行,将所需的代码量减少到一个简单的函数调用即可获取所需的数据。

此方法利用了 DataTables API 对象类似“数组”的事实,因为它们继承了许多 Javascript Array 类型的功能和方法。

类型

函数 pluck(属性)

说明

迭代 API 实例的结果集,从原始元素中检索的值创建一个新的 API 实例。

参数
返回

新的 API 实例,其中结果的值从由剔除的属性定义的源对象属性中检索。

示例

从表行的 data 对象中剔除 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');