2.2 KiB
2.2 KiB
id, challengeType, videoUrl, forumTopicId, title
id | challengeType | videoUrl | forumTopicId | title |
---|---|---|---|---|
587d7b7e367417b2b2512b21 | 1 | https://scrimba.com/c/cyWJBT4 | 301179 | 使用多个三元运算符 |
Description
function findGreaterOrEqual(a, b) {
if (a === b) {
return "a and b are equal";
}
else if (a > b) {
return "a is greater";
}
else {
return "b is greater";
}
}
上面的函数使用条件运算符写法如下:
function findGreaterOrEqual(a, b) {
return (a === b) ? "a and b are equal"
: (a > b) ? "a is greater"
: "b is greater";
}
即便如此,应谨慎使用多个三元运算符,因为在没有适当缩进的情况下使用多个三元运算符可能会使您的代码难以阅读。 例如:
function findGreaterOrEqual(a, b) {
return (a === b) ? "a and b are equal" : (a > b) ? "a is greater" : "b is greater";
}
Instructions
Tests
tests:
- text: <code>checkSign</code>应该使用多个条件运算符。
testString: 'assert(/.+?\s*?\?\s*?.+?\s*?:\s*?.+?\s*?\?\s*?.+?\s*?:\s*?.+?/gi.test(code));'
- text: <code>checkSign(10)</code>应该返回 "positive" 注意,结果对大小写敏感。
testString: assert(checkSign(10) === 'positive');
- text: <code>checkSign(-12)</code>应该返回 "negative" 注意,结果对大小写敏感。
testString: assert(checkSign(-12) === 'negative');
- text: <code>checkSign(0)</code>应该返回 "zero" 注意,结果对大小写敏感。
testString: assert(checkSign(0) === 'zero');
Challenge Seed
function checkSign(num) {
}
checkSign(10);
Solution
function checkSign(num) {
return (num > 0) ? 'positive' : (num < 0) ? 'negative' : 'zero';
}