Skip navigation
Currently Being Moderated

javaScriptでのwhile文の条件に

Aug 23, 2008 1:06 AM

javaScriptで、while文の条件の()の中に、複数の条件を入れたいのですが
どうすればよいでしょうか。
具体的には、AもしくはBもしくはCもしくは…Jではない間、繰り返す条件にしたいのですが…
AとBだけの場合ならうまくいくのですが、3つ以上になるとうまく動きません。
どう記述したらうまく動くか、分かる方がいたらアドバイスが欲しいです。

環境はMacOS10.5、インデザインCS3です。
  • Currently Being Moderated
    Community Member
    Aug 23, 2008 1:43 PM
    論理演算子「||」でつなぐだけです。
    論理演算子は比較演算子などよりも結合が低いので、括弧でくくる必要があるかもしれません。
    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 23, 2008 7:16 PM
    それではロジックがおかしいですよ。
    ZZZがAAAではない、もしくはZZZがBBBではない、もしくはZZZがCCCではない・・・

    ((ZZZ!=AAA)||(ZZZ!=BBB)||(ZZZ!=CCC)・・・)

    とすると、全てが通ってしまいますね。

    ((ZZZ!=AAA)&&(ZZZ!=BBB)&&(ZZZ!=CCC)・・・)

    AAAではなく、かつBBBでもなく、CCCでもない・・・でしょうか
    一度、論理演算子についてぐぐって見ることをお勧めします。
    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 24, 2008 10:52 AM
    基本的なことですが、論理演算子「||」(or 論理和)は、すべてがfalseの時だけfalseを返し、どれかひとつでもtrueならtrueを返します。
    false || false || false; => false
    false || false || true ; => true

    while文で使うとしたら、すべての条件がfalseの時だけ自動的にbreakします。

    論理演算子「&&」(and 論理積)は、すべてがtrueの時だけtrueを返し、どれかひとつでもfalseならfalseを返します。
    true && true && true ; => true
    true && false && true ; =>false

    参考:
    http://www.tohoho-web.com/js/operator.htm#logical

    もし、ロジカルなことでつまずいておられるなら、コードを見てみないとなんとも言えません。
    while文でなくとも、メソッド(必要なら再帰的なメソッド)で書ける可能性もあります。
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)