文字列または配列を使用して2つのリストを比較し、比較しなかった値を取得する方法を考えていました。
PHP関数に似たものを考えていますarray_diff()
。
従来のASPで可能ですか?
文字列または配列を使用して2つのリストを比較し、比較しなかった値を取得する方法を考えていました。
PHP関数に似たものを考えていますarray_diff()
。
従来のASPで可能ですか?
Scripting.Dictionaryを使用できます。
Public Function RemoveMatches(byVal arrRemove(), byVal arrMatches)
Dim sdScriptingDictionary, Item, arrReturn
Set sdScriptingDictionary = CreateObject("Scripting.Dictionary")
sdScriptingDictionary.RemoveAll
sdScriptingDictionary.CompareMode = BinaryCompare
For Each itemRemove in arrRemove
For Each itemMatches in arrMatches
If itemMatches<>itemRemove Then
'Response.Write "ADD:" & itemRemove & ":" & itemMatches & "<br />"
If Not sdScriptingDictionary.Exists(itemRemove) Then sdScriptingDictionary.Add itemRemove, itemRemove
Else
'Response.Write "REMOVE:" & itemRemove & ":" & itemMatches & "<br />"
If sdScriptingDictionary.Exists(itemRemove) Then sdScriptingDictionary.Remove(itemRemove)
Exit For
End If
Next
Next
arrReturn = sdScriptingDictionary.keys
'Clean Up
Erase arrRemove
Set arrRemove = Nothing
Erase arrMatches
Set arrMatches = Nothing
sdScriptingDictionary.RemoveAll
Set sdScriptingDictionary = Nothing
RemoveMatches = arrReturn
End Function