すぎたです。

In message news:bs42mm$5b$1@x1wa.gunma-ct.ac.jp
"Satoshi Nakajima" <nakajima@chem.gunma-ct.ac.jp> wrote ...

> for(i=2;i<10;i++){
> if ((i<5)||(i>=7&&i<10)) {

同じことなのですが、インデントが深くなることを嫌う場合とかに
continue を使って処理をとばすという方法もあります。
# たまに continue や break を嫌う人もいるみたいですが、
# 私はよく使います。

  for (i=2; i < 10; i++) {
    if (i == 5 || i == 6) {
      continue; // 5 か 6 であれば、ループ内の処理をとばす
    }
    … 処理 …
  }


数が少ないのであれば、インデックスを配列にして
取り出すのも手です。

  var idxs = new Array(2, 3, 4, 7, 8, 9);
  var n = idxs.length;
  for (var j=0; j < n; j++) {
    i = idxs[j];
    … 処理 …
  }


もともとの意図として、複数のループ範囲で同じ処理を通過したい
(ので2つのfor文を1つで行いたいとのことでしたが、構文がない)
という処理をそのまま実現する場合、その範囲を配列にして
2重のループで、外側で複数の範囲テーブルの読み出し、内側
でその範囲のループの処理を記述する手もあります。

  var ranges = new Array(
    new Array(2, 4),
    new Array(7, 9)
    );
  /* わかりづらければ
  var ranges = new Array();
  ranges[0] = new Array(2, 4);
  ranges[1] = new Array(7, 9);
  */
  var i, j, r;
  var n = ranges.length; // この場合 2
  for (j=0; j < n; j++) {
    r = ranges[j]; // 範囲の読み出し
    for (i=r[0]; i <= r[1]; i++) { // 要素の[0]〜[1]まで
      … 処理 …
    }
  }

-- 
杉田
sugi-nws@bk.iij4u.or.jp