我想使用三元运算符但是我收到以下错误消息:
"意外的令牌,预期:"
为什么?
这是我的第一个代码:
.as-console-wrapper {
top: 0;
max-height: 100% !important;
}
这是我最近的代码:
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)
答案 0 :(得分:6)
&&
,请使用else
进行拍摄
添加半字段;
,让它知道它是指令的结束,否则它会将这三行评估为一条指令。
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)
&#13;
答案 1 :(得分:4)
EG this:
(i % 3 === 0) ? console.log('Set')
为:
提供了?
选项。如果您在?
检查为假的情况下不希望发生任何事情,则可以只提供一个空对象,或undefined
:
(i % 3 === 0) ? console.log('Set') : {}
答案 2 :(得分:1)
如果您不想在三元运算符中出现错误结果时执行任何操作。你可以说statement ? 'expression' : null
在那里提到null
。像
const SetRuc = (num) => {
for (let i = 1; i <= num; i++) {
(i % 3 === 0) ? console.log('Set') : null;
(i % 5 === 0) ? console.log('Ruc') : null;
(i % 3 === 0 && i % 5 === 0) ? console.log('SetRuc') : console.log(i);
}
}
SetRuc(100)
答案 3 :(得分:0)
您滥用三元运算符,语法为:
condition ? expr1 : expr1
假设条件为真时将执行expr1
,否则expr2
将会执行。
所以你可能想要这个:
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)
答案 4 :(得分:0)
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)
您在:
和console.log('Set')
console.log('Ruc')