【发布时间】:2017-03-31 00:43:57
【问题描述】:
假设我有以下声明:
if (height > 4.25 || length > 6 || weight > 1) {
//Do Something
}
有没有办法判断满足了哪些条件才能使该陈述为真?
比下面更优雅的东西,显然是多余的:
if (height > 4.25 || length > 6 || weight > 1) {
if (height > 4.25){...};
if (length > 6){...};
if (weight > 1){...};
}
【问题讨论】:
-
把这个放到一个函数里,一个一个的检查,从第一个
if返回,就是true。 -
无论如何,最终你可能会写 3 个 If 语句,因为所有三个参数都不同(高度、长度和重量)
-
这在codereview.stackexchange.com 上会更好,因为您有工作代码并且正在就如何重写它征求意见。
-
没有迹象表明在外部
if但在内部ifs 之外需要发生什么。这是为什么?这不是解决方案的重要组成部分吗?您是否有理由不将所有三个的结果放入变量中,然后根据需要使用它们?为什么这种通用方法不够“优雅”?我们如何知道我们是否提供了“更优雅”的解决方案?这里没有足够的细节。 -
@chsdk:这就是这些“让我的代码更好/更优雅” 问题的问题所在。它们过于宽泛且完全主观,这就是为什么它们离题且不应该回答的原因。有一些功能性解决方案可能会有所帮助并且非常简洁,只是这个问题仍然缺乏细节。
标签: javascript