Arrays VBScript数组?否则

Arrays VBScript数组?否则,arrays,vbscript,Arrays,Vbscript,我是VBScript新手,我们使用的解决方案是VBScript来操作数据 执行if-then-else不是问题,但是当我有一个大数据集,输出很少时,我希望使用某种数组,我可以将值存储在数组中,并且仍然使用if-then-else吗 If Input1 = "A1" Then Output0 = "A" ElseIf Input1 = "B1" Then Output0 = "B" Else Output0 = "C" End If 需

我是VBScript新手,我们使用的解决方案是VBScript来操作数据

执行if-then-else不是问题,但是当我有一个大数据集,输出很少时,我希望使用某种数组,我可以将值存储在数组中,并且仍然使用if-then-else吗

    If Input1 = "A1" Then
    Output0 = "A"

    ElseIf Input1 = "B1" Then
    Output0 = "B"

    Else
    Output0 = "C"
    End If
需求非常基本,但环顾四周后,似乎在语法上有点混乱

简单的if-then-else很好,但是需要写很多if-then-else

    If Input1 = "A1" Then
    Output0 = "A"

    ElseIf Input1 = "B1" Then
    Output0 = "B"

    Else
    Output0 = "C"
    End If
我需要实现的是,请注意,值不一样,修剪也不是下面的要求

If Input1 = "A1,A2,A3" Then
Output0 = "A"

ElseIf Input1 = "B1,B2,B3" Then
Output0 = "B"

Else
Output0 = "C"
End If

使用SQL,我将在语句中执行一个

VBscript的工具将输入映射到输出,这是最简单的方法。因此,请使用一个:

>> Set d = CreateObject("Scripting.Dictionary")
>> d("A1") = "A"
>> d("A2") = "A"
>> d("B1") = "B"
>> d("C")  = "C"
>> For Each k In Split("C B1 A2 B2 A1")
>>     If d.Exists(k) Then
>>        WScript.Echo k, d(k)
>>     Else
>>        WScript.Echo k, "???"
>>     End If
>> Next
>>
C C
B1 B
A2 A
B2 ???
A1 A

VBscript将输入映射到输出的工具是。因此,请使用一个:

>> Set d = CreateObject("Scripting.Dictionary")
>> d("A1") = "A"
>> d("A2") = "A"
>> d("B1") = "B"
>> d("C")  = "C"
>> For Each k In Split("C B1 A2 B2 A1")
>>     If d.Exists(k) Then
>>        WScript.Echo k, d(k)
>>     Else
>>        WScript.Echo k, "???"
>>     End If
>> Next
>>
C C
B1 B
A2 A
B2 ???
A1 A

为了完整性,您还可以使用语句,它允许在
案例中使用表达式列表

Select Case Input1
    Case "A1", "A2", "A3"
        Output0 = "A"
    Case "B1", "B2", "B3"
        Output0 = "B"
    Case "C1", "C2", "C3"
        Output0 = "C"
    Case Else
        Output0 = "D"
End Select

为了完整性,您还可以使用语句,它允许在
案例中使用表达式列表

Select Case Input1
    Case "A1", "A2", "A3"
        Output0 = "A"
    Case "B1", "B2", "B3"
        Output0 = "B"
    Case "C1", "C2", "C3"
        Output0 = "C"
    Case Else
        Output0 = "D"
End Select

您看过Filter命令了吗?@JBKing根据OP给出的示例,
Filter()
可以工作,但如果值变化不大。例如,
AB1
将返回
Output0=“A”
Output0=“B”
。您看过Filter命令了吗?@JBKing根据OP给出的示例,
Filter()
可以工作,但如果值变化不大。例如,
AB1
将返回
Output0=“A”
Output0=“B”
。出于兴趣,您使用什么来生成代码示例?我的大脑和基于的REPL。备选方案:感谢您的建议,但这似乎与执行许多if-then-else语句相同,在进一步挖掘之后,我将采用这种方法,但出于兴趣,我将首先构建一个sql表,然后将其称为数据的中间表,你用什么来生成你的代码样本?我的大脑和一个基于。备选方案:感谢您的建议,但这似乎与执行许多if-then-else语句相同,在进一步挖掘之后,我将采用这种方法,但我将首先构建一个sql表,然后将其称为dataPerfect的中间表,而不是以End Select not Case结尾对此表示抱歉,我应该测试它完美,而不是以End Select not CASE结束抱歉,我应该测试它