我試圖停止循環,當我得到一個虛假的結果在我的if語句,但它不工作,我看不到我失蹤。我添加了一個標籤,希望這將是解決方案,但仍然沒有。For-Loop忽略break語句?
let a1 = [1321, 144, 19, 161, 19, 144, 19, 11];
let a2 = [11*11, 121*121, 144*144, 19*19, 161*161, 19*19, 144*144, 19*19];
function comp(a,b){
a.sort()
b.sort()
var result = true;
if (a === null || b === null) { return !result }
if(a.length < 1 || b.length < 1) { return !result }
loop_label: for (var i =0; i < a.length; i++) {
console.log(a[i]*a[i], b[1],(a[i]*a[i]) == b[i])
if(!(a[i]*a[i]) == b[i]) {
return !result;
break loop_label;
}
}
return result;
};
取而代之的是它保持循環並在最後返回true,但我希望它在其中一個評估爲false時返回false。
的'return'聲明什麼,立刻退出功能。 – Pointy
這究竟是以什麼方式「不工作」?雖然'break'語句是多餘的,因爲它在'return'之後永遠不會到達,循環*會在return之後停止。 – David
也許是因爲你的console.log語句總是拋出'b [1]'而不是'b [i]'你得到錯誤的假設,它不會退出代碼? – Icepickle