目次
・配列とは
配列とは
| $arr = 値1 , 値2 , 値3 |
上記は複数の値を変数aに代入しています。
この変数aは配列として複数の値を持ちます。
配列の図
- 1つの変数で複数の値を保持できます。
- 各項目を要素(element)といいます。
- 配列のそれぞれの値は添字(インデックス番号)でアクセスできます。上記図では[0]、[1]、[2]、[3]が添字です。
- 添字は0から始まります。
配列を作成
カンマ区切りで配列を作成
$arr1 = "A", "B", "C"
$arr1[0] # A
$arr1[1] # B
$arr1[2] # C
$arr1[0..2] # A,B,C 範囲指定
$arr1[-1] # C -1の場合末尾になる
(区切り)値をカンマ(,)で区切るだけで配列として認識されます。
@() で明示的に配列を作成
$arr2 = @("D", "E", "F")
$arr2[0] # D
$arr2[1] # E
$arr2[2] # F
$arr4 = @() # 空の配列を作成
数値の範囲指定で配列を作成
$arr3 = 1..3
$arr3[0] # 1
$arr3[1] # 2
$arr3[2] # 3
要素を追加
| 変数 = 変数 + 値 |
| 変数 += 値 |
$arr = @() # 空の配列を作成
$arr = $arr + "A"
$arr = $arr + "B"
$arr += "C"
$arr[0] # A
$arr[1] # B
$arr[2] # C
3~5行目は要素を追加しています。5行目のように+=のみでも追加できます。
+での配列の要素の追加は、数千件のループの場合は動作が劇的に重くなります。
要素を取得(for文、foreach文)
$arr = "A", "B", "C" # 配列
for ($i = 0; $i -lt $arr.Length; $i++) {
$arr[$i] # A B C
}
foreach ($str in $arr) {
$str # A B C
}
for文は、$arr[$i]で各要素にアクセスします。
foreach文では、添字はありません。
含まれるか確認(contains)
$arr1 = "A", "B", "C" # 配列
$str1 = $arr1 -contains "B"
$str1 # True
$str2 = $arr1 -notcontains "D"
$str2 # True
フィルタ(Where-Object)
$arr1 = 1,2,3,4,5 # 配列
$num = $arr1 | Where-Object {$_ % 2 -eq 0}
$num # 2,4
3行目は、偶数のみ取得しています。
重複除去(Select-Object)
$arr1 = 1,2,2,2,3 # 配列
$num = $arr1 | Select-Object -Unique
$num # 1,2,3
昇順と降順でソート(Sort-Object)
$arr1 = 100, 2, 99 # 配列
$arr2 = $arr1 | Sort-Object
$arr2 # 2 99 100
$arr3 = $arr1 | Sort-Object -Descending
$arr3 # 100 99 2
3行目は、昇順になります。
7行目は、末尾に-Descendingをつけて降順にしています。
関連の記事
