我有以下代码:
if (this.config.order === 'asc' ) {
return _.chain(this.rows)
.sortBy(this.config.orderBy)
.slice((this.config.page - 1) * this.config.numOfRows, this.config.page
* this.config.numOfRows - 1)
.value()
} else {
return _.chain(this.rows)
.sortBy(this.config.orderBy)
.reverse()
.slice((this.config.page - 1) * this.config.numOfRows, this.config.page
* this.config.numOfRows - 1)
.value()
}
有一个很大的重复,因为条件决定是否使用reverse()
。
有没有办法只针对_.chain
个<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale-1">
个来电来减少它?
答案 0 :(得分:1)
使用_.tap可以实现这一点,如下所示:
_.chain(this.rows)
.sortBy(this.config.orderBy)
.tap(this.config.order === 'asc' ? _.noop : _.reverse)
// continue your chain
但也许您可以使用_.orderBy而不是_.sortBy,因为前者允许您将排序顺序指定为参数。