0

我想知道如何通过字符串或数组比较 2 个列表,并获取未比较的值。

我正在考虑类似于 PHP 函数的东西array_diff()

经典的 ASP 可以吗?

4

1 回答 1

0

您可以使用 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
于 2012-09-05T07:06:53.267 回答