【发布时间】:2020-05-13 05:10:57
【问题描述】:
所以我在网上做一个代码问题,其中一个解决方案显示如下
function electionsWinners(votes, k) {
var max=Math.max(...votes)
var r=votes.filter(x=>x+k>max||x===max).length
return k?r:r==1?1:0
}
我认为问题的具体细节无关紧要,我对 return 语句的工作原理更感兴趣。我完全不明白返回了什么,似乎使用了 2 个三元运算符,但我不确定,谁能帮我理解这个返回语句的功能?
【问题讨论】:
-
k ? (r) : (r==1 ? (1) : (0))afaic. -
一般来说,尽量避免嵌套三元组。它们本质上令人困惑。它们唯一有用的时候是在代码高尔夫中,你的评判标准是简洁。
-
@Wendelin 真的没有别的选择了……
-
@Bergi,那么问题是什么?
-
问题是为什么人们总是在一行中使用多个。
标签: javascript conditional-operator