当前位置: 首页 > 知识库问答 >
问题:

(x==y)||(x==z)等条件的简写?[重复]

孔瑾瑜
2023-03-14

如果可以简化此场景,我想让我的病情更易于阅读和漫游:

if((x === y)||(x === z)){...}
//and this one: 
x = (x === y) || (x === z)? ... : ...; 

//To something like: 
if(x === (y || z)){...}
x = x === (y || z) ?  ... : ...; 

这将摆脱大量的括号和变量重复,以及“听起来”合乎逻辑(至少对我来说):如果这个var x是这样或那样,那么我就这样做。

特别是当x是一些长对象引用时,例如:

this.someObject.KeyOfKeys[200].language === this.someOtherObject.KeyY.languages[10] || ...; 

或者,您如何处理逻辑上“简单”但繁琐的编写条件?

共有1个答案

郭星文
2023-03-14

您可以像这样使用includes():

if ([y, z].includes(x)) { ... }
x = [y, z].includes(x) ? ... : ...;

如评论中所述,这不适用于IE11和更旧的浏览器。

 类似资料:
  • 问题内容: 我将如何在SELECT查询中反转此路径: 为了 其中/是定界符,并且在一行中可以有许多定界符 问题答案: 最简单的方法可能是编写一个存储的pl / sql函数,但是可以单独使用SQL(Oracle)来完成。 这将分解子路径中的路径: 然后,我们使用来重构反向路径:

  • 我有以下功能: 此代码给出了

  • 这部分是学术性的,就我的目的而言,我只需要四舍五入到小数点后两位;但我很想知道发生了什么会产生两种略有不同的结果。 这是我编写的测试,将其缩小到最简单的实现: 但它失败了,输出如下: 有谁能详细解释一下是什么原因导致 我在一个答案中寻找的一些要点是:精度损失在哪里?哪种方法是首选的,为什么?哪一个实际上是正确的?(在纯数学中,不可能两者都是对的。也许两者都是错的?)对于这些算术运算,有没有更好的解

  • 问题内容: 做这个: 意思是这样的: 如果是这样,我对Dive Into Python中的示例5.14 完全感到困惑。密钥如何既等于“名称”又等于项目?另一方面,“和项目”是否只是问项目是否作为变量存在? 问题答案: 意味着。 请记住,这有几种可能。例如将评估为。

  • 问题内容: 考虑以下示例: 我不确定Java语言规范中是否有一项规定要加载变量的先前值以便与右侧()进行比较,该变量应按照方括号内的顺序进行计算。 为什么第一个表达式求值,而第二个表达式求值?我本来希望先被评估,然后再与自身()比较并返回。 这个问题与Java表达式中子表达式的求值顺序不同,因为这里绝对不是“子表达式”。需要 加载 它以进行比较,而不是对其进行“评估”。这个问题是特定于Java的,

  • X|Y

    描述 (Description) 逻辑运算符[X|Y]匹配X或Y. 例子 (Example) 以下示例显示了逻辑运算符的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class LogicalOperatorDemo { private sta