pluck()
自:DataTables 1.10
使用当前结果集中对象中某一属性的值创建一个新的 API 实例。
说明
当处理对象时,你可能经常希望有一个数组,其中仅包含源对象的某个属性。这通常涉及编写一个简单的循环来创建该数组,但在这里,此循环在此方法中执行,将所需的代码量减少到一个简单的函数调用即可获取所需的数据。
此方法利用了 DataTables API 对象类似“数组”的事实,因为它们继承了许多 Javascript Array
类型的功能和方法。
类型
函数 pluck(属性)
- 说明
迭代 API 实例的结果集,从原始元素中检索的值创建一个新的 API 实例。
- 参数
名称 类型 可选 1 属性
否 原始结果集中元素中要用于结果集的新属性的对象属性名称。这通常是带有目标属性名称的字符串,但如果处理数组,也可以是数组索引。
在 DataTables 1.12 中,也可以使用 Javascript 点表示法读取嵌套的 JSON 数据。所有由
DataTable.util.get()
提供的选项都可以使用。- 返回
新的 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');