函数参考


_ArrayUnique

返回一维数组的独特元素.

#Include <Array.au3>
_ArrayUnique($aArray [, $iDimension = 1 [, $iBase = 0 [, $iCase = 0 [, $vDelim = "|"]]]])

参数

$aArray 使用的数组
$iDimension [可选参数] 使用数组的维数
$iBase [可选参数] 数组索引从 0 或 1 开始. 默认为 0
$iCase [可选参数] 是否大小写敏感.
$vDelim [可选参数] 一个或多个被用作限制符的字符. 但是,无法强制其生效

返回值

成功: 返回一个其中只含有独特的内容一维数组
返回: 返回 0 或设置 @Error:
@Error: 0 - 无错误.
1 - 如果参数不是数组返回 0.
2 - 出于某些原因,_ArrayUnique 失败
3 - 数组维数无效,必须是大于 0 的整数

注意/说明

 返回的数组中, ($array[0]) 包含返回数组元素总数, 其余部分 ($array[1], $array[2], 等等.) 包含返回数组的独特元素.

相关

_ArrayMax, _ArrayMin

示例/演示


; *****************************************************************************
; 示例 1 - 声明一个包含重复值的一维数组.
; 使用 _ArrayUnique 创建一个仅包含唯一值的新数组.
; *****************************************************************************

#include <Array.au3>

Local $aArray[10] = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
_ArrayDisplay($aArray, "$aArray")
Local $aNewArray = _ArrayUnique($aArray) ;使用默认参数
_ArrayDisplay($aNewArray, "$aNewArray represents the 1st Dimension of $aArray")

; ******************************************************************************************
; 示例 2 - 声明一个包含重复值的二维数组.
; 使用 _ArrayUnique 创建一个仅包含唯一值的新的一维数组.
; ******************************************************************************************

#include <Array.au3>

Dim $aArray[6][2] = [[1, "A"],[2, "B"],[3, "C"],[1, "A"],[2, "B"],[3, "C"]]
_ArrayDisplay($aArray, "$aArray")
$aNewArray = _ArrayUnique($aArray) ;使用默认参数
_ArrayDisplay($aNewArray, "$aNewArray represents the 1st Dimension of $aArray")

$aNewArray = _ArrayUnique($aArray, 2) ;使用第二维
_ArrayDisplay($aNewArray, "$aNewArray represents the 2nd Dimension of $aArray")

; *****************************************************************************************
; 示例 3 - 声明一个包含重复值的一维数组.
; 使用 _ArrayUnique 且区分大小写创建一个仅包含唯一值的新数组.
; *****************************************************************************************

#include <Array.au3>

Dim $aArray[6][2] = [[1, "A"],[2, "B"],[3, "C"],[1, "a"],[2, "b"],[3, "c"]]
_ArrayDisplay($aArray, "$aArray")
$aNewArray = _ArrayUnique($aArray, 1, 0, 1) ;使用默认参数,且区分大小写
_ArrayDisplay($aNewArray, "$aNewArray represents the 1st Dimension of $aArray")

$aNewArray = _ArrayUnique($aArray, 2, 0, 1) ;使用默认参数,且区分大小写
_ArrayDisplay($aNewArray, "$aNewArray represents the 2st Dimension of $aArray")

; *****************************************************************************************
; 示例 4 - 声明一个包含重复值和 "|" 的一维数组.
; 使用 _ArrayUnique 创建一个仅包含唯一值的新数组.
; *****************************************************************************************

#include <Array.au3>

Dim $aArray[6][2] = [[1, "|A"],[2, "B"],[3, "C"],[1, "|A"],[2, "B"],[3, "C"]]
Local $sMsgBox

$aNewArray = _ArrayUnique($aArray, 2) ;使用第二维

For $i = 0 To $aNewArray[0]
    $sMsgBox &= "[" & $i & "]: " & $aNewArray[$i] & @CRLF
Next

;必须改变参数才可以在 _ArrayDisplay 中显示包含 "|" 的元素
_ArrayDisplay($aNewArray, "$aNewArray represents the 1st Dimension of $aArray", -1, 0, "@")