在VBScript中有Filter這個函數可以用來對陣列進行過濾,並且傳回原數組的一個子集數組。語法說明:
Filter 函數
傳回下標從零開始的數組,其中包含以特定過濾條件為基礎的字串數組的子集。
Filter(InputStrings, Value[, Include[, Compare]])
參數
InputStrings
必選項。一維數組,要在其中搜尋字串。
Value
必選項。要搜尋的字串。
Include
可選項。 Boolean 值,指定傳回的子字串是否包含Value。如果Include 為True,Filter 將傳回包含子字串Value 的陣列子集。如果Include 為False,Filter 將傳回不包含子字串Value 的陣列子集。
Compare
可選項。數字值指出使用的比較字串類型.請參閱值設定部分.
設定
Compare 參數可以有以下值:
常數
值
描述
vbBinaryCompare
0
執行二進制比較。
vbTextCompare
1
執行文字比較。
說明
如果在InputStrings 中沒有找到與Value 相符的值,Filter 將傳回空數組。如果InputStrings 為Null 或不是一維數組,則會發生錯誤。
由Filter 函數傳回的陣列僅包含足以包含匹配項數目的元素。
下面範例利用Filter 函數傳回包含搜尋條件Mon 的陣列:
複製代碼代碼如下:
Dim MyIndex
Dim MyArray (3)
MyArray(0) = Sunday
MyArray(1) = Monday
MyArray(2) = Tuesday
MyIndex = Filter(MyArray, Mon) 'MyIndex(0) 包含Monday。
在紅色的位置要注意一下,MyIndex是一個陣列! ~
複製代碼代碼如下:
Dim MyIndex,IndexItem
Dim MyArray(2)
MyArray(0) = Sunday
MyArray(1) = Monday
MyArray(2) = Monday
MyIndex = Filter(MyArray,Tuesday)
For IndexItem = 0 To UBound(MyIndex)
Response.Write MyIndex(Monday)&<br />
Next