gpt4 book ai didi

javascript - 带链式方法的条件 reverse()(使用 Lodash)

转载 作者:行者123 更新时间:2023-11-30 14:54:20 27 4
gpt4 key购买 nike

我有以下代码:

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 调用的一部分吗?

最佳答案

这应该可以通过使用 _.tap 来实现,像这样:

_.chain(this.rows)
.sortBy(this.config.orderBy)
.tap(this.config.order === 'asc' ? _.noop : _.reverse)
// continue your chain

但也许您可以使用 _.orderBy 而不是 _.sortBy,因为前者允许您将排序顺序指定为参数。

关于javascript - 带链式方法的条件 reverse()(使用 Lodash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47554293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com