Функция _ArrayUnique

         Описание функции


_ArrayUnique

Возвращает одномерный массив, не содержащий повторов элементов.

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

Параметры

$aArray Массив для использования
$iDimension [необязательный] Колонка массива для использования
$iBase [необязательный] Базовый (начальный) индекс 0 или 1. По умолчанию 0
$iCase [необязательный] Если установлено в 1, поиск с учетом регистра (по умолчанию 0)
$vDelim [необязательный] Один или более символов используются как разделитель. Тем не менее, нельзя отказываться от этой полезности.

Возвращаемое значение

Успех:Возвращает одномерный массив, не содержащий повторов элементов в одной колонке
Ошибка:Возвращает 0 устанавливает @error:
@error:0 - Нет ошибок.
1 - Возвращает 0, если параметр не массив.
2 - Неудачное выполнение _ArrayUnique() по некоторым другим причинам
3 - Неверный индекс колонки, должно быть целое число, большее 0

Примечания

Возвращает массив, первый элемент ($array[0]) которого содержит количество возвращаемых строк, остальные элементы ($array[1], $array[2], etc.) содержат неповторяющиеся строки.

См. также

_ArrayMax, _ArrayMin

Пример

; *****************************************************************************
; Пример 1 - Объявляем одномерный массив, содержащий одинаковые значения.
; Используйте _ArrayUnique, чтобы создать новый массив, содержащий только уникальные значения (каждый в одном экземпляре).
; *****************************************************************************
#include <Array.au3>

Dim $aArray[10] = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
_ArrayDisplay($aArray, "$aArray")
$aNewArray = _ArrayUnique($aArray) ; Используются параметры по умолчанию
_ArrayDisplay($aNewArray, "$aNewArray возвращает первую размерность массива $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 возвращает первую размерность массива $aArray")

$aNewArray = _ArrayUnique($aArray, 2) ; Используются вторая размерность
_ArrayDisplay($aNewArray, "$aNewArray возвращает вторую размерность массива $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 возвращает первую размерность массива $aArray")

$aNewArray = _ArrayUnique($aArray, 2, 0, 1) ; Используются параметры по умолчанию, с учётом регистра
_ArrayDisplay($aNewArray, "$aNewArray возвращает вторую размерность массива $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 возвращает первую размерность массива $aArray", -1, 0, "@")