我正在嘗試編寫代碼,它將採用所有兩位數的數字,將它們分隔爲數字,將數字平方並添加它們。之後,它將重複這個過程,直到製作一位數字的號碼。爲什麼在Javascript中的這段代碼只返回一個值
for (i=11;i<25;i++) {
var array = (i).toString(10).split("").map(Number)
var element0 = array[0]
var element1 = array[1]
var total = (element0*element0)+(element1*element1)
while (total>9) {
array = (total).toString(10).split("").map(Number)
element0 = array[0]
element0 = array[1]
total = (element0*element0)+(element1*element1)
}
if (total == 1) {
console.log(i + " is correct")
}
}
每當我運行此過程時,瀏覽器凍結,我必須強制關閉它。我是Javascript新手,所以我會很感激任何幫助。謝謝。
大約在第8行,您將'array0'重新分配'array0',然後'array [1]' 。這意味着'element0'將始終是'array [1]'的值。 – Soviut
1.這是什麼?它是「只返回一個值」還是凍結? 2.請求幫助時,請將您的代碼可讀地縮進。 3.要知道爲什麼它凍結(循環無止境)的最好方法是使用內置於瀏覽器中的功能齊全的調試器,逐步瀏覽代碼,逐句聲明,觀察值。所以最好的選擇是搜索如何使用內置在瀏覽器中的調試器。 (或者現在來調試NodeJS,如果這是你運行這個的地方。)4. 11-24(含)不是「所有的兩位數字」。 –