gpt4 book ai didi

arrays - 具有重复项的 Powershell 组哈希数组

转载 作者:行者123 更新时间:2023-12-02 06:28:01 25 4
gpt4 key购买 nike

我有以下数据集[哈希数组]:

假设 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"
}
)

我想做的是通过 Code 键对以下数据集进行分组。

我已经尝试了多种方法,例如管道 Group-ByGroup-ObjectSort-Object,但我仍然没有得到我想要的结果。

我希望返回的结果是一个哈希表,它看起来像这样 [或任何类似的]:

$groupedDataset = @{
ABC1111 = @("1234567891","1234567892","1234567896")
ABC1112 = @("1234567893")
ABC1113 = @("1234567894")
ABC1114 = @("1234567895")
}

最佳答案

将哈希表转换为 PSCustomObjects,对其进行分组,然后将其分配给新的哈希表:

$groupedDataset = @{}

$dataset |
ForEach-Object { [PSCustomObject]$_ } |
Group-Object -Property Code |
ForEach-Object { $groupedDataset[$_.Name] = $_.Group.ID }

参见 Get-Help about_Object_Creation有关使用 [PSCustomObject] 从哈希表创建自定义对象的更多信息。

关于arrays - 具有重复项的 Powershell 组哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50532906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com