sortBy 比较器(comparator)使用单个项对数组(arrays)调用

Silverwolf90
创建于
2016-03-07 15:24:00

可以使用以下内容复制:

_.sortBy([1], (a, b) => { console.log('I WAS CALLED'); return a; })
//=> I WAS CALLED
[1]

如果您正在比较从函数(function)返回的值,则这特别有问题。

_.sortBy([{ ... }], (a, b) => a.getLeft() > b.getRight())
// BOOM
6条回答
jdalton
回复于
2016-03-07 15:30:46
#1

@Silverwolf90

这是设计好的。sortBy使用iteratee产生计算排序排序(order)的值。
您可能正在寻找数组(Array)#排序

Silverwolf90
回复于
2016-03-07 15:42:07
#2

啊我的错误!我以为是顺道来的。

有没有类似于数组(Array)#排序的东西的需求?在lodash/fp中拥有它将是很好的。虽然hand-roll并不是特别难.:)

jdalton
回复于
2016-03-07 15:53:29
#3

有没有类似于数组(Array)#排序的东西的需求?

大多数只是遵从Array#sort。lodash/fp角度是一个新的角度。我会留意的。

ockham
回复于
2017-01-18 14:13:09
#4

下面是拥有接受比较器(comparator)的(稳定)sortBy的另一个原因:默认args。如果我想指定我的比较器(comparator)(以允许自定义订购),同时能够指定默认的比较器(comparator),使数组(Array) 排序(order)保持不变,我目前的运气不好。

有关背景信息,请参阅Automattic/wp-calypso#10709(备注)

teohhanhui
回复于
2017-01-19 05:21:40
#5

https://www.npmjs.com/package/stable对我来说效果很好。

回复于
2018-12-28 00:21:37
#6

此线程已自动锁定,因为在它关闭后没有任何最近的活动。请为相关错误打开一个新的issue。

当前位于第1页,总计6条回复