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