javascript - 如何停止这个for循环?

标签 javascript if-statement for-loop break

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/

相关文章:

javascript - 为什么我的函数在修改数组时会更改参数?

javascript - jsp 代码未在 backbone.js View 中执行

matlab - 在Matlab中总结每第n行

c++ - 同一变量的多个值的 If 语句

ruby-on-rails - 嵌套资源的 Controller 测试

java - 将数组中的每个元素向下移动一个 (Java)

javascript - firebase reauthenticateWithCredential 和 signInWithCustomToken

javascript - 类型错误 : Cannot read property 'nativeElement' of undefined in HTML5 Canvas with Ionic 2

vb.net - If 语句和 For 循环 - 如何只取每 5 个数字?

没有花括号的 if 语句中的注释