簡體   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