我目前正在嘗試通過REST api,which returns them in JSON array從PagerDuty獲取事件列表。我想通過在incident_key上使用unique_by()來刪除任何重複的事件。但是,我想要第一次出現incident_key,而unique_by()會除去最後一個。現在,如果我有incident_number 849,850,851,都具有相同的incident_key,unique_by()將返回851jq unique_by - 選擇其餘元素
簡單的例子:
[
{ "reference_key":"200", "id":"1" },
{ "reference_key":"200", "id":"2" },
{ "reference_key":"200", "id":"3" },
{ "reference_key":"201", "id":"4" },
{ "reference_key":"201", "id":"5" },
{ "reference_key":"201", "id":"6" }
]
我試圖做的是使用unique_by()根據id獲取reference_key的第一個匹配項。因此,在這種情況下,我願意輸出爲
[
{ "reference_key":"200", "id":"1" },
{ "reference_key":"201", "id":"4" }
]
的問題是,我已經在這個沒有控制權,並與數據我目前正在試圖用,它返回最後要做到這一點發生而不是第一次,如此。
[
{ "reference_key":"200", "id":"3" },
{ "reference_key":"201", "id":"6" }
]
我已經嘗試使用反向,然後調用unique_by(),但我得到相同的結果。有什麼辦法可以控制這個嗎?
我想我的例子不是最好的,因爲它沒有工作,這個時候。我不知道爲什麼,但對於我目前從PagerDuty事件列表中獲得的數組,它會選擇最後一次出現。這裏是不unique_by和unique_by之間的差異。 http://i.imgur.com/3vSuoYT.png –
最後一節奏效!你想介紹一下,這樣我就能理解到底發生了什麼? –