代码之家  ›  专栏  ›  技术社区  ›  Max Wolfen

如何在javascript中缩短或条件?

  •  1
  • Max Wolfen  · 技术社区  · 6 年前

    所以,我想问一下,写这样的条件是不是更漂亮一些?

    state=='su'state=='ja'state==='fa'

    我的意思是,也许它们可以改写为:

    状态==('su''ja''fa')

    谢谢

    4 回复  |  直到 6 年前
        1
  •  1
  •   Sviat Kuzhelev    6 年前

    正如@paulpro所说-您可以很容易地通过数组方法检查大量传入值 includes 。所以,我们可以让它更美的方式,你想要的。

    有关详细信息,请参阅: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

        2
  •  1
  •   George Bailey    6 年前

    正如@paulpro在他的评论中所说。你可以用

    ['su','ja','fa'].includes( state ) .

    我正在添加它作为答案,所以它有时会对某人有用,而且很容易找到。

        3
  •  1
  •   Nicholas James Bailey    6 年前

    您可以使用数组所具有的indexof()方法,例如

    ['su', 'ja', 'fa'].indexOf('ja') > -1; // true
    

    为了获得最大的美感,请先将您的Aray声明为变量,例如

    valid = ['su', 'ja', 'fa', 'la', 'ti', 'do'];
    valid.indexOf(state) > -1;
    

    这样,即使有效值的列表很长,代码看起来也很整洁。

    在此处查看更多信息 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf

        4
  •  0
  •   Liam Newmarch    6 年前

    我认为你应该写 (state === 'su' || state === 'ja' || state === 'fa') .

    对于其他程序员来说,这样更简单。