缩短JS if或语句

这个问题在这里已经有了答案:

  • 如何检查数组是否包含JavaScript中的对象? 40个答案

  • 你可以使用使用Array.indexOf

    [1,2,3,4].indexOf(x) !== -1
    

    你也可以使用对象作为某种散列图:

    //Note: Keys will be coerced to strings so
    // don't use this method if you are looking for an object or if you need
    // to distinguish the number 1 from the string "1"
    my_values = {1:true, 2:true, 3:true, 'foo':true}
    my_values.hasOwnProperty('foo')
    

    顺便说一下,在大多数情况下,您应该使用“===”严格等号运算符而不是==运算符。 使用“==”进行比较可能会执行许多复杂类型的强制操作,有时您可能会得到令人惊讶的结果。


    如果你的情况不是这么简单,

    if (1 <= x && x <= 4)
    

    你可以使用数组和indexOf

    if ([1,2,3,4].indexOf(x) > -1)
    

    请注意, indexOf可能需要重新实施。


    无需编写一个将数组作为输入并返回true / false或某种数组搜索的函数。 这将是很难维护/其他开发人员阅读。 它会明显变慢。 所以只要坚持语义正确的更长的版本。

    另外一个很好的方法来查看是否可以显着缩短任何事情,可以通过关闭编译器运行它并查看它的结果。

    链接地址: http://www.djcxy.com/p/75061.html

    上一篇: Shorten JS if or statement

    下一篇: JavaScript equivalent of PHP's in