2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VBScript】連想配列について

Posted at

目次

1. はじめに
2. 環境
3. 連想配列とは
3-1. 配列とは
3-2. 連想配列とは
3-3. 補足
4. 参考
5. おわりに

1.はじめに

現在VBScriptを実務で使用しています。VBSCriptでは配列の種類が複数あります。

今回はVBScriptの連想配列についてまとめます。

2.環境

  • Windows 11 Pro 22H2
  • Microsoft-IIS/10.0
  • ASP 5.8 (16384)

3.連想配列とは

3-1.配列とは

複数のデータを順番に並べたもので、変数が1列に横に並んでいる構造となっています。

キー(添字) 0 1 2
項目(値) 伊藤 田中 鈴木
Dim arr(2)
arr(0) = "伊藤"
arr(1) = "田中"
arr(2) = "鈴木"

For Each a In arr
    Response.Write a & "<br>" ' 伊藤 田中 鈴木が並ぶ
Next

3-2.連想配列とは

キーに好きな名前をつけることができます。

キー(添字) バスケットボール部 野球部 卓球部
項目(値) 伊藤 田中 鈴木

連装配列では「Scripting.Dictionary」を使用します。

Scripting.Dictionary:任意の形のデータを格納するディクショナリのオブジェクト

Dim objDic
Set objDic = Server.CreateObject("Scripting.Dictionary")

キーと項目の追加の仕方は2種類あります。

objDic.Add "バスケットボール部", "伊藤"
objDic.Add "野球部", "田中"
objDic("卓球部") =  "鈴木"

Response.Write(objDic("卓球部")) ' -> 鈴木
Response.Write(objDic.Item("サッカー部")) ' 該当のデータがないので何も表示されない

①Dictionaryの変数.Add "○○(キー)", "▲▲(項目)"
②Dictionaryの変数("○○(キー)") = "▲▲(項目)"

表示の仕方も2種類あります。

aryTempKeys = objDic.Keys
For i = o To objDic.Count -1
    Response.Write objDic.Item(aryTempKeys(i)) & "<br>" ' 伊藤 田中 鈴木が並ぶ
Next
aryTempItems = objDic.Items
For i = 0 To objDic.Count -1
    Response.Write aryTempItems(i) & "<br>"
Next

①キーを取得して対となる項目を表示する
②全項目の配列を取得して表示する

3-3.補足

ここでは、Dictionaryオブジェクトの用語について表でまとめます。

用語 説明
Add 1組のキーと項目を追加する
Keys すべてのキーを格納した配列を返す
Count 項目数を取得する
Item 指定したキーに基づいて項目を返す
Items 全ての項目を格納した配列を返す

4.参考

5.おわりに

記事の感想や意見、ご指摘等あれば伝えていただけるとありがたいです。
読んでいただき、ありがとうございました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?