我有一个包含对象的数组。说:
[{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 :(得分: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
处启动内部循环会阻止以不同的顺序调用具有相同元素对的函数。