【发布时间】:2012-11-11 10:39:37
【问题描述】:
祝大家感恩节快乐:
我已经在这个问题上绞尽脑汁了半个小时,但还是不知道条件句的作用在哪里。我想我已经记下来了,但只是想由专业人士来运行它。
(i%3)?(i%5)?i:'Buzz':(i%5)?'Fizz':'FizzBuzz'
具体如下:
if ((i%3) == false) {
if ((i%5) == false) {
console.log("FizzBuzz");
} else {
console.log('Fizz');
}
} else {
if ((i%5) == false) {
console.log("Buzz");
} else {
console.log(i);
}
}
并且我假设三元运算符按以下方式分组(我习惯于以典型的 result ?a : b 方式查看三元运算符,所以额外的结果和条件让我)
(i%3)?
//if the condition is not a multiple of 3
//check if it is a multiple of 5
//if it isn't, log the number
//otherwise log "Buzz"
(i%5)?i:'Buzz'
//if the condition is a multiple of 3
//check if it is a multiple of 5
:(i%5)?
//if it is log "Fizz",
//otherwise i is a multiple of 3 & 5 -
//log "FizzBuzz"
'Fizz':'FizzBuzz
我非常感谢任何量化的帖子和/或澄清。 再次感谢。
【问题讨论】:
-
如果您要链接三元组,只需放入一些明确的括号,以免担心运算符优先级。事实上,三元条件字符具有相同的运算符优先级,并且从右到左读取(这可能会产生预期的行为):developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/…
标签: javascript conditional ternary-operator