题目
请使用 Javscript 里的三元运算符实现一个 f(x: number): string 函数,x 的取值与返回值对应关系如下所示:
- x < 0,返回 a
- x > 100,返回 a
- 0 <= x < 20,返回 b
- 20 <= x < 80,返回 c
- 80 <= x <= 100,返回 b
考察点
条件运算,三元运算符解答
const f = (x: number): string => {return x < 0 ? 'a' : x < 20 ? 'b' : x < 80 ? 'c' : x <= 100 ? 'b' : 'a'}
发散题目
发散题目一:三元运算符有什么优缺点?
发散题目一:合并返回值重复的情况
考察点:
三元运算符,条件运算符解答
const f = (x: number): string => {return x < 0 || x > 100 ? 'a' : x < 20 || x >= 80 ? 'b' : 'c'}
发散题目二:将其改写为 if-else
考察点:三元运算符与 if-else 的相互转换
解答:
解法一:有 if 嵌套
解法二:无 if 嵌套(如果写的是解法一,可以进一步提问这一解法)const f = (x: number): string => {if (x < 0) {return 'a'} else {if (x < 20 || (x >= 80 && x <= 100)) {return 'c'} else {if (x < 80) {return 'd'} else {return 'b'}}}}
const f = (x: number): string => {if (x < 0) {return 'a'}if (x < 20 || (x >= 80 && x <= 100)) {return 'c'}if (x < 80) {return 'd'}return 'b'}
发散题目三:合并重复区间
参考资料
