2015-03-03 130 views
-3

我有一個包含對象的數組。說:比較數組中的對象JavaScript

[{id: 0, fight: true}, {id: 1, fight: false}, {id: 2, fight: true}, {id: 3, fight: false}, {id: 4, fight: true}, {id: 5, fight: false}, {id: 6, fight: false}, {id: 7, fight: false}] 

我想在數組中具有相同的值(如object.fight)每兩個對象。然後我想將這些對象傳遞給一個函數,我可以用它們做其他事情。我想確保一旦數組中的一個元素進行了比較,就不會再次進行比較。在這種情況下,我會得到傳入我的函數的第一個和第三個對象。我怎樣才能做到這一點?

+0

你可以用一個例子來解釋一下嗎? – thefourtheye 2015-03-03 02:13:41

+0

這不是對象屬性的正確語法。 'key:value',而不是'key = value'。 – Barmar 2015-03-03 02:13:52

+0

@thefourtheye完成 – Bluedog111 2015-03-03 02:21:26

回答

1

我想你只需要嵌套循環for

for (var i = 0; i < array.length; i++) { 
    for (var j = i+1; j < array.length; j++) { 
     func(array[i], array[j]); 
    } 
} 

i+1防止調用帶同一對元素以不同的順序功能啓動內循環。