2016-12-09 30 views
0

這是一個基本的排序功能:如何將動態術語/排序添加到以下排序功能?

filteredItems() { 
    return this.model 
    .sort((a, b) => new Date(b.updatedAt) - new Date(a.updatedAt)) 
    } 
} 

我希望能夠動態地設置排序termorder

sort: { 
    term: 'updatedAt', 
    order: '-1' 
} 

如何反映在上面的代碼?

編輯:

我意識到排序功能僅適用於日期。它不會說,與名稱和其他領域一起工作。有沒有辦法創建一個函數來排序一切?

+0

你是什麼意思通過「動態」? – Guig

+0

@Guig通過給排序函數提供一個對象(在這種情況下是'sort')。 – alex

回答

4

filteredItems (sort) { 
 
    return this.model 
 
    .sort((a, b) => parseInt(sort.order) * (new Date(b[sort.term]) - new Date(a[sort.term]))) 
 
    } 
 
} 
 

 
var sort= { 
 
    term: 'updatedAt', 
 
    order: '-1' 
 
}

Array.prototype.sort(FN)設計進行排序的一切,如果你想讓它更類型使用比較功能PARAM,像filteredItems((a, b) => parseInt(sort.order) * (new Date(b[sort.term]) - new Date(a[sort.term])))