此JavaScript"if"语句的较短代码

Hus*_*ein 7 javascript if-statement

有没有使用JavaScript或jQuery编写以下内容的简短方法?

if (this.id==="a" || this.id==="b" || this.id==="c" || this.id==="d")
Run Code Online (Sandbox Code Playgroud)

lim*_*imc 6

这个怎么样?

if ( this.id in { "a":1, "b":1, "c":1, "d":1 } ) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

... 或这个?

if("abcd".indexOf(this.id) > -1) {
   ...
}
Run Code Online (Sandbox Code Playgroud)


Jas*_*run 5

if ( ['a','b','c','d'].indexOf( this.id ) >= 0 ) { ... }
Run Code Online (Sandbox Code Playgroud)

要么

if ( this.id in {'a':0,'b':0,'c':0,'d':0} ) { ... }
Run Code Online (Sandbox Code Playgroud)

  • 实际上你可以通过去除对象中属性名称周围的引号来缩短`in`版本.只要ID是有效的javascript标识符,您就不需要em. (3认同)
  • 如果`this.id`是''a',那么第一个例子就不会知道它. (2认同)