pluck()
自:DataTables 1.10 起
使用目前結果集中物件的屬性值建立新的 API 實例。
描述
當您使用物件時,您可能經常會發現您需要一個僅包含來源物件的單一屬性的陣列。這通常需要編寫一個簡單的迴圈來建立該陣列,雖然在此,該迴圈是在此方法中執行的,從而減少了取得所需資料所需的程式碼量,使其成為一個簡單的函式呼叫。
此方法利用了 DataTables API 物件是「類似陣列」的事實,因為它們繼承了 Javascript Array
類型的許多功能和方法。
類型
function pluck( property )
- 描述
迭代 API 實例的結果集,從原始元素檢索的值建立新的 API 實例。
- 參數
名稱 類型 選填 1 property
否 要從新結果集的原始結果集中的元素中使用的物件屬性名稱。這通常是具有目標屬性名稱的字串,但如果使用陣列,也可以是陣列索引。
從 DataTables 1.12 開始,Javascript 點表示法也可以用來讀取巢狀 JSON 資料。可以使用
DataTable.util.get()
提供的所有選項。- 回傳
新的 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');