Enumerator オブジェクト
コレクション内の項目を列挙する方法を提供します。
enumObj
= new Enumerator([collection])
引数
- enumObj
必ず指定します。Enumerator オブジェクトを代入する変数名を指定します。 - collection
省略可能です。任意の Collection オブジェクトを指定します。
解説
コレクションは、そのメンバに直接アクセスすることができないという点で配列とは異なります。配列の場合はインデックスを使って項目にアクセスできますが、コレクションでは、現在の項目を指すポインタをコレクション内の最初の項目に移動したり、次の項目に移動したりするしかありません。
Enumerator オブジェクトは、コレクション内の任意のメンバにアクセスする手段を提供するオブジェクトで、VBScript の For...Each ステートメントとよく似た機能をします。
使用例
次のコードは、Enumerator オブジェクトの使用例です。
function ShowDriveList(){
var fso, s, n, e, x; // 変数を宣言します。
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.Drives); // Enumerator オブジェクトを作成します。
s = "";
for (;!e.atEnd();e.moveNext()) // Drives コレクションを列挙します。
{
x = e.item();
s = s + x.DriveLetter;
s += " - ";
if (x.DriveType == 3) // ネットワークドライブであるかどうかを確認します。
n = x.ShareName; // 共有名を取得します。
else if (x.IsReady) // ドライブの準備ができているかどうかを確認します。
n = x.VolumeName; // ボリューム名を取得します。
else
n = "[ドライブの準備ができていません。]";
s += n + "<BR>";
}
return(s); // アクティブなドライブの一覧を返します。
}
プロパティ
Enumerator オブジェクトには、プロパティはありません。
メソッド
atEnd メソッド | item メソッド | moveFirst メソッド | moveNext メソッド