这是一个基本的排序功能:
filteredItems () {
return this.model
.sort((a, b) => new Date(b.updatedAt) - new Date(a.updatedAt))
}
}
我希望能够动态设置排序term
和order
:
sort: {
term: 'updatedAt',
order: '-1'
}
如何在上面的代码中反映出来?
修改
我意识到排序功能仅适用于日期。它不会与名称和其他领域一起使用。有没有办法创建一个排序一切的功能?
答案 0 :(得分: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)用于对所有内容进行排序,如果你想让更多类型使用比较函数作为参数,比如filteredItems((a, b) => parseInt(sort.order) * (new Date(b[sort.term]) - new Date(a[sort.term])))