找回密码
 加入
搜索
查看: 3876|回复: 6

[系统综合] 如何将数组中相同的成份合并?

[复制链接]
发表于 2015-2-24 20:09:13 | 显示全部楼层 |阅读模式
比如下面的数组a

a[0]=10 这个是维度
a[1]=aa
a[2]=aaa
a[3]=aba
a[4]=aaa
a[5]=a
a[6]=baa
a[7]=baa
a[8]=aba
a[9]=1009

这个数组中 a[2]和a[4]都是aaa, a[6]和a[7]都是baa,a[3]和a[8]都是aba,想把这种相同的合并。合并项下面的数组上调。变成下面这种数组。

a[0]=7 这个是维度
a[1]=aa
a[2]=aaa
a[3]=aba
a[4]=a
a[5]=baa
a[6]=1009

怎么办?
发表于 2015-2-24 20:12:06 | 显示全部楼层
#Include <Array.au3>
_ArrayUnique($aArray[, $iDimension = 1 [, $iBase = 0 [, $iCase = 0 [, $vDelim = "|"]]]])
 楼主| 发表于 2015-2-24 20:23:14 | 显示全部楼层
#Include
_ArrayUnique($aArray[, $iDimension = 1 [, $iBase = 0 [, $iCase = 0 [, $vDelim = "|"]]]])
afan 发表于 2015-2-24 20:12


这个我知道,我想问的是,_ArrayUnique 这个对原数组[0]是维度的这样的数组,[0]位就是维度不会干扰新生成的数组吗?
 楼主| 发表于 2015-2-24 20:31:22 | 显示全部楼层
#include <Array.au3>

Dim $aArray[10] = ["a", "b", "c", "e", "a", "b", "c", "d"]
_ArrayDisplay($aArray, "$aArray")
$aArray = _ArrayUnique($aArray) ;Using Default Parameters
_ArrayDisplay($aArray, "$aNewArray represents the 1st Dimension of $aArray")
_ArrayAdd($aArray, "c")
_ArrayAdd($aArray, "e")
_ArrayAdd($aArray, "f")
_ArrayDisplay($aArray, "添加后的数据")
$aArray = _ArrayUnique($aArray)
_ArrayDisplay($aArray, "最后的数据")
看来原数组的维度不影响新生成的维度。
发表于 2015-2-24 20:46:38 | 显示全部楼层
#include <Array.au3>

Local $aArray[10] = [9, "aa", "aaa", "aba", "aaa", "a", "baa","baa","aba","1009"] 
_ArrayDisplay($aArray, "原数组") 

Local $aArrayUnique = _ArrayUnique($aArray,0,1) 
_ArrayDisplay($aArrayUnique, "去重") 


我不理解你所表诉的a[0]=10的维度是怎么一回事,明明只有九个有效数组
发表于 2015-2-24 21:20:23 | 显示全部楼层
本帖最后由 netegg 于 2015-2-24 21:28 编辑

那个不是维度,是有效元素的预定义数量高限-1
发表于 2015-2-26 15:05:23 | 显示全部楼层
haodongxo    kankan
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-3-29 14:54 , Processed in 0.076482 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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