在字典中向数组添加值

时间:2016-02-18 17:15:38

标签: arrays dictionary vbscript

我有一个字典,其中的值都是数组。我试图为数组添加值。 According to this question,您无法直接更改值,因此我尝试将值分配给临时数组,添加项目,删除密钥然后使用新数组将其读入字典。但是,我遇到了问题。

        if ds.Exists(count.key) then
            'set temp array length to ds.Item length
            ReDim Preserve v(UBound(ds.item(count.key)))    
            'set temp array to ds.item values
            v = ds.item(count.key)
            'set temp array length to ds.Item length + 1
            ReDim Preserve v(UBound(ds.item(count.key)) + 1)
            'add new value to the end of the temp array
            v(UBound(v)) = count.val
            'remove key
            ds.remove(count.key)
            'add key with updated array
            ds.add count.key,v 
        else
            ds.add count.key,array(count.val)
        end if

目前我在v = ds.item(count.key)

上遇到类型不匹配错误

1 个答案:

答案 0 :(得分:1)

看起来问题实际上是声明并尝试ReDim数组。我完全删除了该行并且它有效。

    if ds.Exists(count.key) then    
        'set temp array to ds.item values
        v = ds.item(count.key)
        'set temp array length to ds.Item length + 1
        ReDim Preserve v(UBound(ds.item(count.key)) + 1)
        'add new value to the end of the temp array
        v(UBound(v)) = count.val
        'remove key
        ds.remove(count.key)
        'add key with updated array
        ds.add count.key,v 
    else
        ds.add count.key,array(count.val)
    end if