根据值列表检查变量相等

根据值列表检查变量相等

我在检查一个变量,比如说foo,对于一些值来说是平等的。例如,

if( foo == 1 || foo == 3 || foo == 12 ) {
    // ...}

关键是,对于这样一个琐碎的任务,它是相当多的代码。我想出了以下几点:

if( foo in {1: 1, 3: 1, 12: 1} ) {
    // ...}

但这也不完全吸引我,因为我必须给对象中的项目提供多余的值。

有谁知道如何对多个值进行平等检查吗?


收到一只叮咚
浏览 403回答 3
3回答

慕斯709654

你可以用一个数组indexOf:if ([1,3,12].indexOf(foo) > -1)

回首忆惘然

在ECMA 2016中,您可以使用包括方法。这是我见过的最干净的方式。(除IE外,所有主要浏览器都支持它(链接中有多填充)if([1,3,12].includes(foo)) {     // ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript