プロが教える店舗&オフィスのセキュリティ対策術

例えば、
value1 と value2 と value3 のどれかが空だったら・・・というのを書くときに

if (value1 == "" || value2 == "" || value3 == ""){ 処理 }

と書いているのですが、非常の多い時に困ります。
これを一つでまとめて書く事は出来ないのでしょうか?

イメージとしては

if (value1,value2,value3 == "") { 処理 }

みたいな感じです。

A 回答 (3件)

効率的かどうかは、状況や考え方にもよりますが・・・




何度も出てきて煩雑だというのであれば、関数化しておけばよろしいのではないでしょうか?

例えば、
引数全部が空文字列かどうかを判定してtrue/falseを返す関数 blankTest(=仮名)を別に定義しておいて、実際に利用するときは、
 if (blankTest(value1,value2,value3)) { 処理 }
みたいな形で使うとか。

ついでに引数に配列も渡せるようにしておくと便利なのかもしれませんね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
対象とする数が変わることがあるので・・・
あ、配列の引数にすればいいのかな。

お礼日時:2015/03/13 18:51

// 簡単に


var res = $.inArray("", [value1,value2,valu3])

// すこし汎用的に
var res = false;
$.each([value1,value2,valu3], function(i,v){if(v==""){res=true; return false}});

// 最近のブラウザなら
var res = [value1,value2,valu3].some(function(v){return v==""});
    • good
    • 0

ANo1です。



>対象とする数が変わることがあるので・・・
引数を固定せずにargumentsオブジェクトを利用なされば、引数の数を可変にできます。
使う条件のバリエーションにもよりますが、単純変数でも配列でも受付けられるようにしておけば更に便利かもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!