Javascript 当满足条件时,如何仅为实例在嵌套for循环中执行代码?
我使用嵌套for循环将数组中的项与同一数组中的其他项进行比较。一旦满足了有关要比较的项的特定条件,我想中断循环,并将这两个项推送到不同的数组中。然而,问题是,当满足条件时,它会将这两个项按嵌套循环中的迭代次数推送到数组中。在满足条件的情况下,我如何只将这些项推送到新数组中 我已经尝试打破最初的for循环,但这似乎没有任何作用Javascript 当满足条件时,如何仅为实例在嵌套for循环中执行代码?,javascript,for-loop,Javascript,For Loop,我使用嵌套for循环将数组中的项与同一数组中的其他项进行比较。一旦满足了有关要比较的项的特定条件,我想中断循环,并将这两个项推送到不同的数组中。然而,问题是,当满足条件时,它会将这两个项按嵌套循环中的迭代次数推送到数组中。在满足条件的情况下,我如何只将这些项推送到新数组中 我已经尝试打破最初的for循环,但这似乎没有任何作用 outer_loop: for (let i = 0; i < varifiedKeypoints.length; i++) { let initialKey
outer_loop:
for (let i = 0; i < varifiedKeypoints.length; i++) {
let initialKeypoint = varifiedKeypoints[i];
for (let j = 0; j < varifiedKeypoints.length; j++) {
let comparisonKeypoint = varifiedKeypoints[j];
if (initialKeypoint.part != comparisonKeypoint.part) {
if (Math.abs(comparisonKeypoint.position.x - initialKeypoint.position.x) <= 20
&& Math.abs(comparisonKeypoint.position.y - initialKeypoint.position.y) <= 20) {
if (keypointsCompatible(initialKeypoint.part, comparisonKeypoint.part)) {
console.log("Activating part: " + initialKeypoint.part);
console.log("Activated part: " + comparisonKeypoint.part);
let keypointPair = {
point_1: initialKeypoint.part,
point_2: comparisonKeypoint.part
}
console.log("Pushing parts!");
activeParts.push(keypointPair);
console.log("breaking loop!");
break outer_loop;
console.log("Loop broken - NOT!!!")
}
}
}
}
}
外环:
for(设i=0;i if(Math.abs(comparisonKeypoint.position.x-initialKeypoint.position.x)将此添加到第一个for循环之上
outer_loop:
然后在你的情况下,与
break outer_loop;
所以,如果你想打破循环,就用a吧?嘿,Matthew,正如我刚才提到的,我尝试过这个,但它似乎不起作用。我已经更新了我的代码来反映这一点。@user2724072在你的代码中,你是否把它都用括号括起来了……外循环:{all your code},不确定我是否正确?