为什么这个循环会中途终止?

Why does this loop terminate partway through?

我正在尝试编写一个程序来找到所提供参数的最小公倍数,该公倍数可以被这两个参数以及这些参数之间范围内的所有序号均分。

范围将是两个数字的数组,不一定按数字顺序排列。

例如,对于 1 和 3 - 找到 1 和 3 的最小公倍数,它可以被 1 和 3 之间的所有数字整除。

为什么循环停止在 i = 510,000(或接近那个值)而不是我设置的 7,000,000?

我也有输出的屏幕截图:

function smallestCommons(arr) {
  
  var start;
  var finish;
  var something;
  
  if(arr[0] < arr[1]){start = arr[0]; finish = arr[1];}else{
      start = arr[1]; finish = arr[0];
    }
  
  for(var i = finish;i <= 7000000;i++){
    var boolea = true;
    for(var j = start;j <= finish;j++){
      if(i % j !== 0){boolea = false;break;} // 2 % 1
    }
    
    if(boolea)return i;
    
    something = i;
  }
  
  console.log("final i = " + i);
  
  return 0;
}

尝试在循环的开头添加它

// noprotect

肯定是jsbin强制你的代码退出了循环。参见 source