分かりやすく、使いやすく。

配列をソートする(昇順・降順)

スポンサーリンク

PowerShell で配列を要素の値の順に並び変えるには Sort-Object を使用します。

  1. 昇順に並べ替える
  2. 降順に並べ替える


昇順に並べ替える

サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 配列を初期化
$ary_nums = @(100, 9, 25, 5, 7, 82, 42, 2)
 
Write-Host "ソート前"
 
for ($i = 0; $i -lt $ary_nums.Length; $i++) {
    Write-Host ('インデックス:' + [string]$i + '、値:' + [string]$ary_nums[$i])
}
 
# $ary_nums を要素の値の昇順に並べ替える
$ary_nums = $ary_nums | Sort-Object
 
Write-Host "昇順にソートした後"
 
for ($i = 0; $i -lt $ary_nums.Length; $i++) {
    Write-Host ('インデックス:' + [string]$i + '、値:' + [string]$ary_nums[$i])
} 

上記の実行結果は次の通りです。

ソート前
インデックス:0、値:100
インデックス:1、値:9
インデックス:2、値:25
インデックス:3、値:5
インデックス:4、値:7
インデックス:5、値:82
インデックス:6、値:42
インデックス:7、値:2
昇順にソートした後
インデックス:0、値:2
インデックス:1、値:5
インデックス:2、値:7
インデックス:3、値:9
インデックス:4、値:25
インデックス:5、値:42
インデックス:6、値:82
インデックス:7、値:100 

降順に並べ替える

降順に並べ替えるには Sort-Object に -Descending を指定します。サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 配列を初期化
$ary_nums = @(100, 9, 25, 5, 7, 1, 42, 29)
 
Write-Host "ソート前"
 
for ($i = 0; $i -lt $ary_nums.Length; $i++) {
    Write-Host ('インデックス:' + [string]$i + '、値:' + [string]$ary_nums[$i])
}
 
# $ary_nums を要素の値の降順に並べ替える
$ary_nums = $ary_nums | Sort-Object -Descending
 
Write-Host "降順にソートした後"
 
for ($i = 0; $i -lt $ary_nums.Length; $i++) {
    Write-Host ('インデックス:' + [string]$i + '、値:' + [string]$ary_nums[$i])
} 

上記の実行結果は次の通りです。

ソート前
インデックス:0、値:100
インデックス:1、値:9
インデックス:2、値:25
インデックス:3、値:5
インデックス:4、値:7
インデックス:5、値:1
インデックス:6、値:42
インデックス:7、値:29
降順にソートした後
インデックス:0、値:100
インデックス:1、値:42
インデックス:2、値:29
インデックス:3、値:25
インデックス:4、値:9
インデックス:5、値:7
インデックス:6、値:5
インデックス:7、値:1 
スポンサーリンク
スポンサーリンク