使用 PowerShell 转换数组的简单有效的方法是什么?
初始数组有两个属性 Number
和 Color
。
Number Color 1 Red 2 Red 3 Red 4 Red 5 Blue 6 Blue 7 Green 8 Green 9 Green
输出数组应该是这样的:
Color Number Red 1,2,3,4 Blue 5,6 Green 7,8,9
最佳答案
# Input objects.
$objects = @'
Number,Color
1,Red
2,Red
3,Red
4,Red
5,Blue
6,Blue
7,Green
8,Green
9,Green
'@ | ConvertFrom-Csv
$objects |
Group-Object Color |
Select-Object @{ n='Color'; e='Name'}, @{ n='Number'; e={ $_.Group.Number } }
以上产量:
Color Number
----- ------
Blue {5, 6}
Green {7, 8, 9}
Red {1, 2, 3, 4}
注意:由于Group-Object
的工作原理,Color
值在输出中按字母顺序排序。
另请参阅:
关于arrays - 如何在Powershell中对数组进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61490684/