Ale*_*lex 2 arrays collections powershell grouping hashtable
我有以下数据集[哈希数组]:
假设ID总是独一无二的
$dataset = @(
    @{
        ID   = "1234567891"
        Code = "ABC1111"
    },
    @{
        ID   = "1234567892"
        Code = "ABC1111"
    },
    @{
        ID   = "1234567893"
        Code = "ABC1112"  
    },
    @{
        ID   = "1234567894"
        Code = "ABC1113"   
    },
    @{
        ID   = "1234567895"
        Code = "ABC1114"   
    },
    @{
        ID   = "1234567896"
        Code = "ABC1111"  
    }
)
Run Code Online (Sandbox Code Playgroud)
我想要做的是Code按键对以下数据集进行分组.
我已经尝试过多种方法,如管道Group-By,Group-Object,Sort-Object但我还是没有得到我想要的结果.
我希望返回的结果是一个哈希表,看起来像[或类似的东西]:
$groupedDataset = @{
    ABC1111 = @("1234567891","1234567892","1234567896")
    ABC1112 = @("1234567893")
    ABC1113 = @("1234567894")
    ABC1114 = @("1234567895")
}
Run Code Online (Sandbox Code Playgroud)
    将哈希表转换为PSCustomObjects,对其进行分组,然后将其分配给新的哈希表:
$groupedDataset = @{}
$dataset |
    ForEach-Object { [PSCustomObject]$_ } |
    Group-Object -Property Code |
    ForEach-Object { $groupedDataset[$_.Name] = $_.Group.ID }
Run Code Online (Sandbox Code Playgroud)
Get-Help about_Object_Creation有关使用[PSCustomObject]从哈希表创建自定义对象的详细信息,请参阅.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           271 次  |  
        
|   最近记录:  |