找回密码
 加入
搜索
查看: 1398|回复: 4

如何比较数组中重复的值,并将不重复的值删除???

[复制链接]
发表于 2009-12-28 16:09:37 | 显示全部楼层 |阅读模式
本帖最后由 pchome2000 于 2009-12-28 21:10 编辑

如何比较数组中重复的值,并将不重复的值删除???
发表于 2009-12-28 16:54:11 | 显示全部楼层
搜索!
发表于 2009-12-28 17:51:16 | 显示全部楼层
并将不重复的值删除?
发表于 2009-12-28 18:54:18 | 显示全部楼层
本帖最后由 pusofalse 于 2009-12-28 19:12 编辑

论坛已经有了“删除重复记录”的代码。这个删除不重复的则还是一样的思路,众多方法中,唯有正则和表驱动法是效率是最高的~ 正则不到家,先来个表驱动法~
#include <Array.au3>

Local $aArray[10] = ["a", "b", "c", "d", "e", "f", "a", "b", "c", "d"], $sVar
Local $sRandomSep = Random(1, 1000) & Random(2000, 3000) & Random(4000, 5000)

For $i = 0 To Ubound($aArray) - 1
        If Not IsDeclared(".." & $aArray[$i]) Then
                Assign(".." & $aArray[$i], $i)
        Else
                Assign("??" & $i, 0)
                If Not IsDeclared("??" & Eval(".." & $aArray[$i])) Then
                        Assign("??" & Eval(".." & $aArray[$i]), 0)
                EndIf
        EndIf
Next
For $i = 0 To Ubound($aArray) - 1
        If Not IsDeclared("??" & $i) Then ContinueLoop
        $sVar &= $aArray[$i] & $sRandomSep
Next
$sVar = StringRegExp($sVar, "(?U)(.*)" & $sRandomSep, 3)
_Arraydisplay($sVar)

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
afan + 20 + 5

查看全部评分

发表于 2009-12-28 21:51:01 | 显示全部楼层
楼上的高手,佩服!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-26 11:10 , Processed in 0.077132 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表