Javascript split条件付き

ここで私は変数があります:

var possible_country = 'United States|Germany|Canada|United Kingdom';
var current_country = 'United States';

このような条件付きの関数を関数として使いたい

function dummy(c, p){
 var arr = p.split('|');

 /* Code I want */

 if(c === arr[0] || c === arr[1] || c === arr[2] || c === arr[3])
 {
  alert('Voila');
 }
}

だから私はこのようなダミー関数を呼び出すことができます

dummy(current_country, possible_country);
0
すべての国をループすることはできませんか? (i = arr [i])のように、
追加された 著者 Fire-Dragon-DoL,
if(isValidCountry.test(country))var isValidCountry =/^(米国|ドイツ|カナダ|イギリス)$/を使用することをお勧めします。
追加された 著者 Lee Kowalkowski,

4 答え

配列の .indexOf メソッドを使用します。

var possible_country = 'United States|Germany|Canada|United Kingdom';
var current_country = 'United States';

possible_country = possible_country.split('|'); //Split by |
alert(possible_country.indexOf(current_country)); //Search for the current_country inside fo possible_country.

関数として:

function dummy(current, possible) {
    var arr = possible.split('|');
    if (arr.indexOf(current) != -1) {
        alert('voila');
    }
}
1
追加された

私は indexOf が欲しいと思います:

function dummy(c, p){
 var arr = p.split('|');

 if(~arr.indexOf(p)) {//arr contains p as one of its elements
  alert('Voila');
 }
}
1
追加された
@Lee Kowalkowski: indexOf は配列に存在しない場合、 -1 を返します。 は真偽値( 0 以外の数字)を返します。 ) 存在する場合
追加された 著者 pimvdb,
+1、面白いの使用。
追加された 著者 Frédéric Hamidi,
@Lee、 indexOf()(Javascript 1.6以降で使用可能)は、要素が見つからない場合は -1 を返します。 Javascriptのビット演算子は2の補数を使用するので、〜-10 であり、 false と評価されます。
追加された 著者 Frédéric Hamidi,
私は何を逃したのですか? はビット単位ではないですか?それはどのように機能するのですか? indexOfはJS 1.6までの配列でも使用できません。
追加された 著者 Lee Kowalkowski,
ですから、ビット単位ではなく、新しい構文ではありません。安心!本当に面白いが、私の部分を笑うラウンドラウンド。
追加された 著者 Lee Kowalkowski,
<-1>は真であり、すべてのビットが設定されているとの意味で)他のすべて(非-1)が真となります。
追加された 著者 El Ronnoco,
ああ私はそれを試してみる
追加された 著者 oknoorap,

この ?

function dummy(c, p){
  var arr = p.split('|');
  for (var i in arr)
    if (arr[i]===c)
      alert("OK");
  alert("KO");
}
0
追加された

パイプバーを最後に置いておけば

var possible_country = 'United States|Germany|Canada|United Kingdom|';

次の行をチェックするだけです:

if (possible_country.indexOf(current_country + '|') > -1)
{
    alert('Voila');
}
0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript