2015-03-03 93 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防止调用带同一对元素以不同的顺序功能启动内循环。