我正在尝试链接一些lodash sortBy函数,但是在最后一个sortBy上,我想使其成为有条件的。如果UTC相同,我不想更改数组中的位置
码:
const events = _(arr).chain().sortBy((e) => {
return e.event.json.QUERY.type
}).sortBy((e) => {
if (e.event.json.QUERY.type === 'ad') {
return e.event.json.QUERY.metadata.ad.assetid;
} else {
return e.event.json.QUERY.metadata.content.assetid;
}
}).sortBy((e) => {
return e.event.json.QUERY.utc; // this is where I want a conditional but I don't know if that's possible with lodash
}).value()
最佳答案
lodash sortBy
方法实现了稳定的排序,即,当元素的排序键值相同时,它不会交换元素。
从documentation on sortBy
:
此方法执行稳定的排序,即保留相等元素的原始排序顺序。
关于javascript - 如何使lodash sortBy如果值相等则不排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45153226/