Funktionsreferenz

_ArrayUnique

Gibt ein Array zurück, welches alle Elemente maximal einmal enthält. Das Ergbnis ist ein 1-dimensionales Array.

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

 

Parameter

$aArray Das zu verwendende Array
$iDimension [optional] Die zu verwendende Dimension des Arrays
$iBase [optional] Ist das Array 0-basiert oder 1-basiert. 0-basiert ist Standard.
$iCase [optional] Flag der angibt, ob Groß- und Kleinschreibung verwendet werden soll.
$vDelim [optional] Ein oder mehrere Zeichen, die als Trennung verwendet werden sollen. (Unklar, ob das nützlich ist)

 

Rückgabewert

Erfolg: Gibt ein 1-dimensionales Array zurück, welches jedes Element je nach Dimension maximal einmal enthält
Fehler: Gibt 0 zurück und setzt @Error:
@error: 0: Kein Fehler.
1: Gibt 0 zurück, falls der Parameter kein Array ist.
2: _ArrayUnique schlug aus einem anderen Grund fehl
3: Die Array Dimension ist ungültig. Diese sollte ein Integer größer 0 sein

 

Bemerkungen

Gibt ein Array zurück. Das erste Element ($array[0]) enthält die Anzahl von zurückgegebenen Strings. Die restlichen Elemente ($array[1], $array[2], etc.) enthalten die maximal einmal enthaltenen Strings.

 

Verwandte Funktionen

_ArrayMax, _ArrayMin

 

Beispiel


; *****************************************************************************
; Beispiel 1 - Deklariert ein 1-dimensionales Array, welches doppelte Werte enthält.
; Verwende _ArrayUnique, um ein neues Array zu erstellen, welches jeden Wert maximal einmal enthält.
; *****************************************************************************
#include <Array.au3>

Dim $aArray[10] = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
_ArrayDisplay($aArray, "$aArray")
$aNewArray = _ArrayUnique($aArray) ; Standardparameter verwenden
_ArrayDisplay($aNewArray, "$aNewArray zeigt die erste Dimension von $aArray")

; ******************************************************************************************
; Beispiel 2 - Deklariert ein 2-dimensionales Array, welches doppelte Werte enthält.
; Verwende _ArrayUnique, um ein neues Array zu erstellen, welches jeden Wert maximal einmal enthält.
; ******************************************************************************************
#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) ; Standardparameter verwenden
_ArrayDisplay($aNewArray, "$aNewArray zeigt die erste Dimension von $aArray")

$aNewArray = _ArrayUnique($aArray, 2) ; Verwendet die zweite Dimension
_ArrayDisplay($aNewArray, "$aNewArray zeigt die zweite Dimension von $aArray")

; *****************************************************************************************
; Beispiel 3 - Deklariert ein 1-dimensionales Array, welches doppelte Werte enthält.
; Verwende _ArrayUnique und die Groß- und Kleinschreibung, um ein neues Array zu erstellen, welches jeden Wert maximal einmal enthält.
; *****************************************************************************************
#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) ; Standardparameter mit Groß- und Kleinschreibung verwenden
_ArrayDisplay($aNewArray, "$aNewArray zeigt die erste Dimension von $aArray")

$aNewArray = _ArrayUnique($aArray, 2, 0, 1) ; Standardparameter mit Groß- und Kleinschreibung verwenden
_ArrayDisplay($aNewArray, "$aNewArray zeigt die zweite Dimension von $aArray")

; *****************************************************************************************
; Beispiel 4 - Deklariert ein 1-dimensionales Array, welches doppelte Werte und "|" enthält.
; Verwende _ArrayUnique, um ein neues Array zu erstellen, welches jeden Wert maximal einmal enthält.
; *****************************************************************************************
#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) ; Verwendet die zweite Dimension

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

; Es müssen Parameter verändert werden, um ein Element anzuzeigen, welches ein "|" in _ArrayDisplay enthält
_ArrayDisplay($aNewArray, "$aNewArray zeigt die erste Dimension von $aArray", -1, 0, "@")