var number = prompt("Typ some numbers:")
var som = 0
for (var x = 0; x < number.length; x++) {
if (!(number[x] === 0)) {
if ((number[x] % 2) === 1) {
som += (number[x] * number[x])
}
} else {
break;
}
}
alert(som)
我想输入一些随机数(0-9),然后在我输入零之前它必须说出所有奇数的平方和。例如,我输入:5903。5*5 + 9*9 = 106。因此,在我输入零之后,它必须停止进一步的 for 循环。但现在如果我输入 5903,它会显示 115,所以现在它仍然会额外算 3*3。那么如何让它在输入零后停止呢?现在不起作用,输入零后它会继续。有人知道有什么问题吗?也许语法?
最佳答案
请更改
if (!(number[x] === 0)) {
至
if (number[x] !== '0') {
因为您正在比较字符串。
工作示例:
var number = prompt("Typ some numbers:"),
som = 0;
for (var x = 0; x < number.length; x++) {
if (number[x] !== '0') {
if ((number[x] % 2) === 1) {
som += (number[x] * number[x]);
}
} else {
break;
}
}
alert(som);
关于javascript - 如何停止这个for循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109854/