当我调用fizzBuzz(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>
答案 0 :(得分:4)
它不起作用,因为你不能将表达式作为案例“名称”或其他什么。它必须已经是一个值。