2017-07-17 23 views
0

我想鏈幾個lodash sortBy函數,但在最後sortBy我想使它有條件。我不想改變數組中的位置,如果UTC是相同的如何使lodash sortBy不排序,如果值是相等的

代碼:

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

的lodash sortBy方法實現一個穩定的排序,即它不會交換元素時,它們的排序鍵值是相同的。

documentation on sortBy

此方法執行一個穩定的排序,即,它保留等於元素的原始排序順序。

+0

謝謝。我一定是用我以前的數組進行過控制檯日誌記錄,並沒有意識到新陣列實際上正在做我想要的。謝謝! – Steve

+0

不要忘記[將答案標記爲已接受](http://stackoverflow.com/help/someone-answers)。 – trincot

相關問題