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, "@")