2017-10-27 6 views
1

私はこのような文字列を持っていますvar arr = ['BUTTON','BADGE','CHECKBOX]' 今では配列に存在する文字列以外の文字列にはifという条件を書く必要があります。それ、どうやったら出来るの?? 私は初心者で、javascriptについて何も知りません。あなたの助けを前にありがとう。 私は試しましたvar arr = ['BUTTON','BADGE','CHECKBOX]; if(!arr){ //code to be executed } しかし、これは常にfalseを返します。配列を省略したifループ

+0

あなたが文字列の配列に存在しているかいないかどうかをテストしたいですか? –

+0

ES6 'includes()' – Laazo

+0

'if(!arr){'は、配列が存在しない場合にのみ意味します。もちろん、配列は存在していますが、あなたはそれが上の行に定義されています。なぜなら、あなたはいつも偽になるからです。 – Keith

答えて

4

あなたはindexOfを使用することができます。

if(arr.indexOf(test_variable) === -1){ 
    // element doesn't exist in array 
} 
1

私は本当にあなたの質問を理解していないけど、多分array.someはあなたの問題を解決することができます:

var someString = 'BADGE'; 
 
var arr = ['BUTTON','BADGE','CHECKBOX' ]; 
 

 
if (arr.some(str => str === someString)) { 
 
    console.log("Exist"); 
 
} else { 
 
    console.log("Doesn't exist"); 
 
}

-3

長意志作品0の場合は、配列に要素が存在しない場合は0を返します

var arr = ['BUTTON','BADGE','CHECKBOX']; 

console.log(arr.length) 
1

これはそれを行う方法です:

var pippo = "pippo"; 
 

 
var arr = ['BUTTON','BADGE','CHECKBOX']; 
 

 
if(arr.indexOf(pippo) > -1){ 
 
    console.log("contained!"); 
 
} 
 
else{ 
 
    console.log("not contained!"); 
 
}

0

あなたの配列/リストのすべての最後の要素の最初には、適切「のチェックボックスすなわち文字列として書かれていません。それは「のチェックボックス」でなければなりませんので、あなたは最終的には単一引用符を逃した

var arr = ['BUTTON','BADGE','CHECKBOX]; 

var arr = ['BUTTON','BADGE','CHECKBOX']; 
第二に、あなたの実際のクエリに来て、あなたの質問に応じて、あなたが実行したいと思われる

文字列が配列内に存在しない場合はコードの一部です。 array.indexOf()関数は、配列に変数として渡された配列内の変数の位置/インデックスを返します。&変数が配列に存在しない場合は、値を返します。 -1この程度

詳細: - https://www.w3schools.com/jsref/jsref_indexof_array.asp

だから、そのためのコードは次のようになります -

var arr = ['BUTTON','BADGE','CHECKBOX']; 
var str = 'foo'; //string not present in the array i.e arr 
if(arr.indexOf(str) === -1) { 
    //your code here 
} 
関連する問題