首页 文章

如何使lodash sortBy如果值相等则不排序

提问于
浏览
0

我试图链接一些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()

1 回答

  • 1

    lodash sortBy 方法实现了一个稳定的排序,即它们的排序键值相同时不会交换元素 .

    来自documentation on sortBy

    此方法执行稳定排序,即保留相等元素的原始排序顺序 .

相关问题