Я пытаюсь написать код, который будет принимать все двузначные числа, разделить их на цифры, поместить цифры, а затем добавить их. После этого он будет повторять процесс до тех пор, пока не будет сделано одноразрядное число.Почему этот код в 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-й строке вы дважды присваиваете 'element0'' массивом [0] ', а затем' array [1] ' , Это означает, что 'element0' всегда будет иметь значение' array [1] '. – Soviut
1. Что это? Оно «возвращает только одно значение» или оно замерзает? 2. Пожалуйста, отсканируйте свой код с готовностью, обратившись за помощью. 3. Лучший способ узнать, почему он замерзает (бесконечно циклично) - использовать полнофункциональный отладчик, встроенный в ваш браузер, и пропустить код, оператор за инструкцией, наблюдая за значениями. Поэтому лучше всего искать, как использовать отладчик, встроенный в ваш браузер. (Или теперь отлаживать NodeJS, если вы это используете.) 4. 11-24 (включительно) не «все двузначные числа». –