我目前正在尝试通过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 –
最后一节奏效!你想介绍一下,这样我就能理解到底发生了什么? –