Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当满足条件时,如何仅为实例在嵌套for循环中执行代码?_Javascript_For Loop - Fatal编程技术网

Javascript 当满足条件时,如何仅为实例在嵌套for循环中执行代码?

Javascript 当满足条件时,如何仅为实例在嵌套for循环中执行代码?,javascript,for-loop,Javascript,For Loop,我使用嵌套for循环将数组中的项与同一数组中的其他项进行比较。一旦满足了有关要比较的项的特定条件,我想中断循环,并将这两个项推送到不同的数组中。然而,问题是,当满足条件时,它会将这两个项按嵌套循环中的迭代次数推送到数组中。在满足条件的情况下,我如何只将这些项推送到新数组中 我已经尝试打破最初的for循环,但这似乎没有任何作用 outer_loop: for (let i = 0; i < varifiedKeypoints.length; i++) { let initialKey

我使用嵌套for循环将数组中的项与同一数组中的其他项进行比较。一旦满足了有关要比较的项的特定条件,我想中断循环,并将这两个项推送到不同的数组中。然而,问题是,当满足条件时,它会将这两个项按嵌套循环中的迭代次数推送到数组中。在满足条件的情况下,我如何只将这些项推送到新数组中

我已经尝试打破最初的for循环,但这似乎没有任何作用

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;iif(Math.abs(comparisonKeypoint.position.x-initialKeypoint.position.x)将此添加到第一个for循环之上

outer_loop: 
然后在你的情况下,与

break outer_loop;

所以,如果你想打破循环,就用a吧?嘿,Matthew,正如我刚才提到的,我尝试过这个,但它似乎不起作用。我已经更新了我的代码来反映这一点。@user2724072在你的代码中,你是否把它都用括号括起来了……外循环:{all your code},不确定我是否正确?