对包含数组的哈希表进行排序 - Powershell

Sort hashtable containing arrays - Powershell

我正在尝试使用以下结构对 Powershell 中的哈希表进行排序:

https://i.stack.imgur.com/bjSX6.png

哈希表的每个值都是一个包含多个元素的数组。

我想根据每个数组的第二个元素的值对哈希表进行排序,可以吗?

创建有序字典,然后枚举现有哈希表中的所有键值对,按所需值对它们进行排序,然后将它们添加到新的有序字典中:

# Create ordered dictionary
$ordered = [ordered]@{}

# Sort KVPs by value at index 1 (that's the second element) of the array 
$hashtable.GetEnumerator() |Sort-Object { $_.Value[1] } |ForEach-Object {
    # Copy the KVP to the ordered dictionary in... order
    $ordered[$_.Key] = $_.Value
}

$ordered 现在包含与 $hashtable 相同的条目,但根据您的条件排序