请问一个比较简单的问题

2021-06-21 18:17:35 +08:00
 muunala10221
例如下面这段代码
if (show1 && show2 && show3) {
return progress1 === 'success' && progress2 === 'success' && progress3 === 'success'
} else if (show1 && show2) {
return progress1 === 'success' && progress2 === 'success'
}...
我有什么更好的办法去写这个判断吗,像上文那种写法我还要判断 show2 && show3 或者 show1 && show3 等...
1014 次点击
所在节点    编程
4 条回复
muunala10221
2021-06-21 18:21:47 +08:00
另外是建立在不改变数据结构的基础上哈,这个牵连太广了
uselessVisitor
2021-06-21 18:59:40 +08:00
show 和 progress === 'success'相关联,那么他俩&&一下,然后 return 不行吗。。
AoEiuV020
2021-06-21 19:04:57 +08:00
!(s1&&!p1 || s2&&!p2 || s3&&!p3)
uselessVisitor
2021-06-21 20:36:04 +08:00
Java 这样写。。在群里大佬帮助下
public static boolean test2(List<Pair<Boolean,String>> conditions,int originSize){
//排除所有 show 为 false 的
conditions.removeIf(booleanStringPair -> !booleanStringPair.getKey());
int failShow = originSize - conditions.size();
if (failShow > 1){
return false;
}
//现在都是 show 为 true 的 直接返回对应的&&
return conditions.stream()
.map(pair -> pair.getValue().equals("1"))
.reduce(true, (a, b) -> a && b);
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/784892

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX