[英]javascript - pick unique items from first array
假設我有兩個 arrays 對象
const array1 = [{
listName: 'My top 5 Sci-Fi Movies',
listCreator: 'Anon',
listItem: 'The Fifth Element'
},
{
listName: 'My top 5 Sci-Fi Movies',
listCreator: 'Anon',
listItem: 'Cube'
}]
和
const array2 = [{
listName: 'My top 5 Sci-Fi Movies',
listCreator: 'Anon',
listItem: 'The Fifth Element'
},
{
listName: 'My top 5 Sci-Fi Movies',
listCreator: 'Dude',
listItem: 'Cube'
}]
我希望能夠比較兩個 arrays 並創建一個只有array1
唯一成員的新數組,在這種情況下
const uniqueArray = [{
listName: 'My top 5 Sci-Fi Movies',
listCreator: 'Anon',
listItem: 'Cube'
}]
我正在使用 lodash 庫(但如果不需要,則不必解決此問題)並且我想以盡可能少的代碼行來完成此操作。
你好,親愛的兄弟,你使用 Hashset 從列表中自動獲取唯一數據
HashSet<Integer>set = new HashSet<Integer>(list1);
List<Integer>list2 = new ArrayList<Integer>(set);
然后再次將此 Hashset 傳遞給 List
它的 JAVA 代碼,但每種語言的邏輯都是相同的
在將頭撞到中間管后,我找到了一個簡單而優雅的解決方案。
如果我(使用 lodash)做
const arrNew = _.differenceWith(array1, array2, _.isEqual);
arrNew 是來自 array1 的唯一項的新數組。 希望這可以幫助其他人。 很想看看是否有另一種性能更高的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.