[英]Why doesn't this FizzBuzz case statement work?
当我调用函数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>
它不起作用,因为您不能将表达式用作大小写“名称”或任何其他形式。 它必须已经是一个值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.