【问题标题】:Powershell: Adding an Array as a member of another arrayPowershell:将数组添加为另一个数组的成员
【发布时间】:2021-06-25 11:13:25
【问题描述】:

在 Powershell 中,我有 3 个类似于以下的数组:

Array1:

Date          Value
----          -----
26/06/2021    5
25/05/2021    10
24/06/2021    4


Array2:

Value
-----
9
8
4

Array3:

Value
-----
11
15
20

我希望能够将 Array2 和 Array3 中的值添加为 Array1 的成员,所以它完成如下:

Array1:

    Date          Value    Value2    Value3
    ----          -----    ------    ------
    26/06/2021    5        9         11
    25/05/2021    10       8         15
    24/06/2021    4        4         20

对于我的生活,我无法找到如何做到这一点 - 我所做的只是将 Array2 和 3 中的值添加到 Array1 的底部,但这不是我想要的。

有人可以帮忙吗?

【问题讨论】:

标签: arrays powershell


【解决方案1】:

您不想将它们添加到第一个数组 - 相反,您需要创建一个由 新对象 组成的 新数组具有来自所有三个源数组的属性值。

我们可以通过将哈希表文字转换为[pscustomobject] 来创建新对象,因此我们需要做的就是对齐数组中的项目。

一个简单的for 循环就可以了:

for($i = 0; $i -lt $array1.Length; $i++){
  [pscustomobject]@{
    Date   = $array1[$i].Date
    Value  = $array1[$i].Value
    Value2 = $array2[$i].Value
    Value3 = $array3[$i].Value
  }
}

【讨论】:

  • +1 简洁的迭代。添加一些可能有帮助(或没有帮助)的内容是,如果您想引用 $Array1.Value2 或 $Array1.Value3 等,那么您可以将上述内容设置为 $Array1:$Array1 = for($i =0 ..... etc...
猜你喜欢
  • 1970-01-01
  • 2010-11-25
  • 2020-01-28
  • 2021-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
  • 1970-01-01
相关资源
最近更新 更多