Powershell:将单个阵列合并为列

Nes*_*tor 2 powershell

鉴于:

$column1 = @(1,2,3)
$column2 = @(4,5,6)
Run Code Online (Sandbox Code Playgroud)

我如何将它们组合到一个对象$ matrix中,该对象将显示为矩阵,而单个数组作为列:

column1 column2
------- -------
   1       4
   2       5
   3       6
Run Code Online (Sandbox Code Playgroud)

Fro*_* F. 5

看来我今天所有的解决方案都需要计算出的属性。尝试:

$column1 = @(1,2,3)
$column2 = @(4,5,6)

0..($column1.Length-1) | Select-Object @{n="Id";e={$_}}, @{n="Column1";e={$column1[$_]}}, @{n="Column2";e={$column2[$_]}}

Id Column1 Column2
-- ------- -------
 0       1       4
 1       2       5
 2       3       6
Run Code Online (Sandbox Code Playgroud)

如果数组的长度不相等,则可以使用:

$column1 = @(1,2,3)
$column2 = @(4,5,6,1)

$max = ($column1, $column2 | Measure-Object -Maximum -Property Count).Maximum    

0..$max | Select-Object @{n="Column1";e={$column1[$_]}}, @{n="Column2";e={$column2[$_]}}
Run Code Online (Sandbox Code Playgroud)

我不确定您是否需要Id,因此在第一个示例中将其包括在内以说明如何将其包括在内。

  • 今天弗罗德着火了!我真的很喜欢`$ max =`行,我可以用自己的东西替换一些草率的代码。我真的在使用Measure-Object。 (2认同)