if文でのチェック方法
サッと書いてしまうと↓のような感じです。
var arrayMonth = [ '1月', '2月', '3月', '4月' ];
if(arrayMonth.indexOf('1月') >= 0){
// 存在する
}else{
// 存在しない
}
注意点
indexOfは型も見ます!
僕自身、if文が意図通りに動作しなくてなんでだろーって少し苦戦したことがあります。
↓は悪い例です。if文のtrueに入ってくれません。
/**
* これは悪い例です
*/
var arrayMonth = [ '1', '2', '3', '4' ];
if(arrayMonth.indexOf(1) >= 0){
// 存在する
}else{
// 存在しない
}
正解:型変換を使ってindexOfを使おう
/**
* 型を指定して判定しよう
*/
var arrayMonth = [ '1', '2', '3', '4' ];
// 文字列にする
if(arrayMonth.indexOf(String(1)) >= 0){
// 存在する
}else{
// 存在しない
}
// もしくは
var arrayMonthNum = [ 1, 2, 3, 4 ];
// 数値にするにはNumberやparseInt等
if(arrayMonthNum.indexOf(Number('1')) >= 0){
// 存在する
}else{
// 存在しない
}
以上です。良いJavascriptライフを!
コメント