这是我对问题的解决方案:
var count = 5;
while (count <= 50) {
if ((count % 3 || count % 5) === 0) {
console.log(count);
}
count++;
}
这是我的讲师解决方案:
var count = 5;
while (count <= 50) {
if (count % 3 === 0 && count % 5 === 0) {
console.log(count);
}
count++;
}
这两个解决方案都给出了正确的答案,但我质疑为什么||。在我的问题上起作用,而不是&&,我都尝试了。&&都需要正确运行才能正确运行,对吗?那不是正确的用法吗?
var count = 5;
while(count <= 50) {
console.log(`count = ${count} | (count % 3 || count % 5) = ${(count % 3 || count % 5)}`);
if((count % 3 || count % 5) === 0) {
console.log(count);
}
count++;
}
这是因为在所有的情况下count % 3 === 0
,并count % 5
没有,数量优先的or (||)
声明,因为它的“truthy”。
例如。
count = 6, 0 || 1 // 1, since 0 is "falsy"
count = 8, 2 || 3 // 2
count = 15, 0 || 0 // 0
因此,您似乎偶然发现了正确的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句