【发布时间】:2018-09-20 07:04:01
【问题描述】:
我想使用三元运算符,但收到以下错误消息:
" 意外令牌,应为:"
这是为什么呢?
这是我的第一个代码:
const GetUp = (num) => {
for (let i = 1; i <= num; i++) {
if (i % 3 === 0) {
console.log('Get')
}
if (i % 5 === 0) {
console.log('Up')
}
if (i % 3 === 0 && i % 5 === 0) {
console.log('GetUp')
} else {
console.log(i)
}
}
}
GetUp(200)
这是我最近的代码:
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set')
(i % 5 === 0) ? console.log('Ruc')
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i)
}
}
SetRuc(100)
【问题讨论】:
-
当你使用三元运算符时,你必须像上一个那样给它一个替代项(在
:之后)。这就是为什么它被称为“三元”的原因:因为它有三个部分,即condition ? true-branch : false-branch -
而且你的情况并不是很好地使用三元运算符,坚持 if
-
看起来像 Fizz Buzz,但名称不同。
-
它看起来确实像 Fizz Buzz,但在 5 和 3 的倍数上,这会注销“Set Ruc SetRuc”,而不仅仅是“SetRuc”
-
关于你原来的代码(新的也有同样的问题),假设它必须遵循fizzbuzz的经典规则,把最后一个条件放在第一位,在第一个条件之后使用
else if。跨度>
标签: javascript ecmascript-6 ternary-operator