Arrays
Массивы
Создание массива
Создать массив и узнать количество элементов
Wake up, Neo, select all
$arr = @(1, "Hello", 15)
$arr.Count
Создать массив можно и без @()
Wake up, Neo, select all
$arr = 1, "Hello", 15
Если данных много, и нужно держать их перед глазами в удобном виде, то можно записать их в столбик
Wake up, Neo, select all
$planets = @(
"Меркурий",
"Венера",
"Земля",
"Марс"
)
Еще @()
позволяет создать пустой массив
Wake up, Neo, select all
$arr = @()
$arr.Count
Обращение к элементам массива
По индексу
Wake up, Neo, select all
$arr = @(
"name",
"My",
"is",
"Bond",
"James"
)
Первый элемент
Wake up, Neo, select all
$arr[0]
Последний элемент (первый с конца-1
)
Wake up, Neo, select all
$arr[-1]
Последний и предпоследний (первый с конца-1
и второй с конца-2
)
Wake up, Neo, select all
$arr[-1, -2]
Элементы с первого по третий
Wake up, Neo, select all
$arr[0..2]
Можно брать элементы более одного раза
Возьмем элементы в правильном порядке, как в фильме, использовав два раза четвертый элемент
Wake up, Neo, select all
$arr[1,0,2,3,-1,3]
По значению или определенному условию
Возьмем слова, в которых присутствует "am"
Wake up, Neo, select all
$arr -match "am"
Возьмем слова, длина которых 4 символа
Wake up, Neo, select all
$arr | Where-Object {$_.Length -eq 4}
Вложенные массивы
Всё так же, как и в обычном массиве, только элементом массива является тоже массив.
Wake up, Neo, select all
$data = @(
@(1, 2, 3),
@(4, 5, 6),
@(7, 8, 9)
)
Получим цифру 4
Видим, что она находится во втором массиве на первом месте
Wake up, Neo, select all
$data[1][0]
Операции над массивами
Добавим число 7 в конец массива
Wake up, Neo, select all
$arr = 1, 3, 5
$arr += 7
Сложим два массива
Wake up, Neo, select all
$arr1 = 1, 3, 5
$arr2 = 7, 9, 11
$arr3 = $arr1 + $arr2
Умножим массив на 2
Wake up, Neo, select all
$arr = 1, 3, 5
$arr * 2
Массивы (их структуру) нельзя изменить.
Операции с добавлением элементов+=
уничтожают исходный массив, собирают элементы для будущего массива, и после создают новый массив.
Для небольших массивов такое действие будет незаметно, но для больших массивов это будет очень ресурсозатратно.
Если над массивами планируется проводить некоторые операции (удаление/добавление/вставка элементов), то рекомендуется использовать коллекции.
Для работы с массивами используются циклы и операторы.
Смотрите примеры в соответствующих статьях.