Javascript “如何做最简单的事”;如果;陈述

Javascript “如何做最简单的事”;如果;陈述,javascript,arrays,if-statement,logic,Javascript,Arrays,If Statement,Logic,有没有一种方法我可以用最简单的方法做到这一点?假设我有20个唯一的数字要检查,它变得非常长和混乱。有什么建议吗 if (i==80 || i==86 || i==101, etc...){some codes} 在中使用如何 checklist = [1, 2, 3, 4]; if (i in checklist) { console.log("Found !"); } 或 使用具有有效值的列表 public static void main(String[] args) {

有没有一种方法我可以用最简单的方法做到这一点?假设我有20个唯一的数字要检查,它变得非常长和混乱。有什么建议吗

if (i==80 || i==86 || i==101, etc...){some codes}

在中使用
如何

checklist = [1, 2, 3, 4];

if (i in checklist) {
    console.log("Found !");
}


使用具有有效值的列表

public static void main(String[] args) {
    ArrayList<Integer> validNumbers = new ArrayList<Integer>() {
        {
            add(80);
            add(86);
            add(101);
            // ...
        }
    };

    int i = 0;
    System.out.println("Valid? " + validNumbers.contains(i));
    if (validNumbers.contains(i)) {
        // Do Something...
    }
    int j = 101;
    System.out.println("Valid? " + validNumbers.contains(j));
    if (validNumbers.contains(j)) {
        // Do Something...
    }

}

您可以使用以下值创建数组:

if ([80, 86, 101].indexOf(i) !== -1) { }
或者您也可以使用开关:

switch(i) {
  case 80: 
  case 86:
    // do something...
  break;
}

在ECMAScript 2017中,将包含,因此您可以执行以下操作:

var testValues = [80,86,101]; // values to test
if (testValues.includes(i)) {
  // i is in testValues
}

考虑索引:<代码>如果([8086101]。索引(i)!= -1)/*i是数组*/< /代码>。这是JavaScript问题还是java问题?它们不是一回事。关系表达式中的in运算符测试对象属性名,而不是值<[1,2,3,4]中的code>4
返回false,因为没有
4
属性。双括号初始化不必要地复杂。仅仅
validNumbers=Arrays.asList(80、86、101)
有什么问题吗?这是真的。非常感谢。
switch(i) {
  case 80: 
  case 86:
    // do something...
  break;
}
var testValues = [80,86,101]; // values to test
if (testValues.includes(i)) {
  // i is in testValues
}