繁体   English   中英

为什么此FizzBu​​zz案例陈述不起作用?

[英]Why doesn't this FizzBuzz case statement work?

当我调用函数fizzBu​​zz(arr)时,控制台仅打印数字1..100。 为什么switch语句不起作用?

<script>


    arr = new Array(100);

    for (var i = 0; i < arr.length; i++) { 
      arr[i] = i + 1
    }

    console.log(arr)

    function fizzBuzz(array) {
      for (var a in array) {
        switch(array[a]) {
          case (array[a] % 5 == 0 && array[a] % 3 == 0):
            console.log('FizzBuzz')
            break;
          case (array[a] % 5 == 0):
            console.log('Buzz')
            break;
          case (array[a] % 3 == 0):
            console.log('Fizz')
            break;
          default: 
            console.log(array[a])
        }
      }
    }

    </script>

它不起作用,因为您不能将表达式用作大小写“名称”或任何其他形式。 它必须已经是一个值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM