本文介绍了在javascript中链接逻辑运算符的简短手?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有更好的方法在javascript中编写以下条件?

Is there a better way to write the following conditional in javascript?

if ( value == 1 || value == 16 || value == -500 || value == 42.42 || value == 'something' ) {
  // blah blah blah
}

我讨厌把所有逻辑OR串在一起。我想知道是否有某种速记。

I hate having all of those logical ORs strung together. I'm wondering if there is some kind of shorthand.

谢谢!

推荐答案

var a = [1, 16, -500, 42.42, 'something'];
var value = 42;
if (a.indexOf(value) > -1){
// blah blah blah
}

更新
评论中建议的效用函数示例:

Upd:Utility function sample as proposed in comments:

Object.prototype.in = function(){
  for(var i = 0; i < arguments.length; i++){
    if (this == arguments[i]) return true;
  }
  return false;
}

所以你可以这样写:

if (value.in(1, 16, -500, 42.42, 'something')){
// blah blah blah
}

这篇关于在javascript中链接逻辑运算符的简短手?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-25 00:42