Uibot-配合冒泡法对数组去重
近期刚开始学习Uibot,实现自动补采曲线数据(电压、电流、示值曲线等11项),表计资产号重复严重,对在系统输入表号查询,重复次数过多,影响自动化效率。需对重复表计清除,使其实现数组元素唯一性。目前使用的是冒泡法对数组去重!
为了方便记录,暂用自定义数组编写.
未去重=["0101","4130001002","0101","0102","4130001002","4130001002","4130001002","0101","0101","0102"]
并利用冒泡法依次读取数组元素,对重复的元素进行重定义。代码如下
Dim 去重后 ="" Dim 未去重 = "" Dim 最大下标 = "" Dim 自定义元素 = "" Dim j = "" 自定义元素 = "重复" 未去重=["0101","4130001002","0101","0102","4130001002","4130001002","4130001002","0101","0101","0102"] 最大下标 = UBound(未去重) For i = 0 To 最大下标 Step 1 j=i+1 For j = j To 最大下标 Step 1 If 未去重[i]=未去重[j] 未去重[j]=自定义元素 Else End If Next Next TracePrint(未去重)
运行后输出调试信息如下:
接下来要做的,就是将所有的“重复”元素去掉,保留包含“010”的元素或其它元素.函数为:Filter
写法为:数组=Filter(数组,包含的元素值,是否保留)
代码1(False就是不保留包含"重复"的元素)
去重后 = Filter(未去重,"重复",False)
代码2(True就是保留包含"010"的元素)
去重后 = Filter(未去重,"010",True)
运行后数组输出结果显示如下