Arrays 函数比较Vbscript中的数组
我试图在vbscript中为UFT编写一个函数,用于比较两个数组,并确保两个数组中的所有值完全匹配。 但是,值的顺序可能不一致Arrays 函数比较Vbscript中的数组,arrays,vbscript,hp-uft,Arrays,Vbscript,Hp Uft,我试图在vbscript中为UFT编写一个函数,用于比较两个数组,并确保两个数组中的所有值完全匹配。 但是,值的顺序可能不一致 Function CompareArrays(array1, array2) Dim i,j Dim arrkeys1,arrKeys2 arrkeys1 = array1.keys arrkeys2 = array2.keys 'Do they have the same number of items? If array1.C
Function CompareArrays(array1, array2)
Dim i,j
Dim arrkeys1,arrKeys2
arrkeys1 = array1.keys
arrkeys2 = array2.keys
'Do they have the same number of items?
If array1.Count <> array2.Count Then
CompareArrays = False
Exit Function
End If
'Compare keys and values
For i = 0 To UBound(arrKeys2)
If Not array2.Exists(arrKeys1(i)) Then
'array1 has a key which array2 doesn't have
CompareArrays = False
Exit Function
End If
For j = 0 To Ubound(arrkeys1)
If array1(i) <> array2(j) Then
print "Value"& array1(i) " not found in current position"
CompareArrays = False
Else
print "Value Found"
CompareArrays =True
End If
Next'j
Next 'i
End Function
非常感谢您的帮助。在进行比较之前,您应该尝试订购两个阵列,我没有visual basic编辑器,但这可能会起作用:
Imports System
Imports Microsoft.VisualBasic
Public Module Module1
Public Sub Main()
dim a1 as Array = {1,2,3}
dim a2 as Array = {3,2,1}
dim result = CompareArrays(a1,a2)
Console.WriteLine("comparison = " & result)
dim a3 as Array ={"a","b","c"}
dim a4 as Array = {"b","c","h"}
result = CompareArrays(a3,a4)
Console.WriteLine("comparison = " & result)
End Sub
Function CompareArrays(array1, array2) as Boolean
Console.WriteLine(array1)
If array1.Length <> array2.Length Then
return false
End If
Array.Sort(array1)
Array.Sort(array2)
For i as integer = 0 To UBound(array1)
if(array1(i) <> array2(i))
return false
End If
Next
return true
End Function
End Module
我发现了一个vb在线编译器,示例如下:
在进行比较之前,您应该尝试对两个数组进行排序,我没有visual basic编辑器,但这可能会起作用:
Imports System
Imports Microsoft.VisualBasic
Public Module Module1
Public Sub Main()
dim a1 as Array = {1,2,3}
dim a2 as Array = {3,2,1}
dim result = CompareArrays(a1,a2)
Console.WriteLine("comparison = " & result)
dim a3 as Array ={"a","b","c"}
dim a4 as Array = {"b","c","h"}
result = CompareArrays(a3,a4)
Console.WriteLine("comparison = " & result)
End Sub
Function CompareArrays(array1, array2) as Boolean
Console.WriteLine(array1)
If array1.Length <> array2.Length Then
return false
End If
Array.Sort(array1)
Array.Sort(array2)
For i as integer = 0 To UBound(array1)
if(array1(i) <> array2(i))
return false
End If
Next
return true
End Function
End Module
我发现了一个vb在线编译器,示例如下:
在VBScript中,数组不是具有Keys/Exists/Count方法的对象 我认为您实际上是在比较存储键和值的两个dictionary对象 下面的脚本将比较字典
Function CompareArrays(array1, array2)
'Do they have the same number of items?
If array1.Count <> array2.Count Then
CompareArrays = False
Exit Function
End If
'Compare keys and values
For Each Key in array1.Keys
'Check Keys
If NOT(array2.Exists(Key)) Then
CompareArrays = False
Exit Function
End If
'Check Value
If array1.Item(Key) <> array2.Item(Key) Then
CompareArrays = False
Exit Function
End If
Next
CompareArrays = True
End Function
函数比较数组(array1,array2)
“他们的物品数量相同吗?
如果数组1.计数数组2.计数,则
比较arlays=False
退出功能
如果结束
'比较键和值
对于阵列中的每个键1.键
“检查钥匙
如果不存在(array2.Exists(Key)),则
比较arlays=False
退出功能
如果结束
'检查值
如果数组1.项(键)数组2.项(键),则
比较arlays=False
退出功能
如果结束
下一个
comparararays=True
端函数
在VBScript中,数组不是具有Keys/Exists/Count方法的对象
我认为您实际上是在比较存储键和值的两个dictionary对象
下面的脚本将比较字典
Function CompareArrays(array1, array2)
'Do they have the same number of items?
If array1.Count <> array2.Count Then
CompareArrays = False
Exit Function
End If
'Compare keys and values
For Each Key in array1.Keys
'Check Keys
If NOT(array2.Exists(Key)) Then
CompareArrays = False
Exit Function
End If
'Check Value
If array1.Item(Key) <> array2.Item(Key) Then
CompareArrays = False
Exit Function
End If
Next
CompareArrays = True
End Function
函数比较数组(array1,array2)
“他们的物品数量相同吗?
如果数组1.计数数组2.计数,则
比较arlays=False
退出功能
如果结束
'比较键和值
对于阵列中的每个键1.键
“检查钥匙
如果不存在(array2.Exists(Key)),则
比较arlays=False
退出功能
如果结束
'检查值
如果数组1.项(键)数组2.项(键),则
比较arlays=False
退出功能
如果结束
下一个
comparararays=True
端函数
不会。它是VB.Net。数组不是VBScript中的对象。我更新了我的答案。我找到了一个在线VB编辑器,希望帮助不会出现。它是VB.Net。数组不是VBScript中的对象。我更新了我的答案我找到了一个在线VB编辑器,希望帮助我用一个在线工作示例更新我的答案,我希望帮助我用一个在线工作示例更新我的答案,我希望帮助这是完美的!非常感谢。@Dighate,我不检查任何订单!对于您的输入,我将“True”作为输出。再次检查。结果表明,UFT Ide无法识别array.keys语句中的每个“键”。但是,当我将key定义为key=array1.keys时,它起作用了。这很有效,非常感谢。这太完美了!非常感谢。@Dighate,我不检查任何订单!对于您的输入,我将“True”作为输出。再次检查。结果表明,UFT Ide无法识别array.keys语句中的每个“键”。但是,当我将key定义为key=array1.keys时,它起作用了。这很有效,非常感谢。