Object 解析对象并向每个成员添加成员属性

Object 解析对象并向每个成员添加成员属性,object,powershell,Object,Powershell,我有一个物体,它看起来像这样 Name Number ---- ------ John one Major two Mars one 我想遍历每个成员并检查编号,然后添加一个属性,最后看起来像这样 Name Number IsItOne ---- ------ ------- John one True Major two False Mars one

我有一个物体,它看起来像这样

Name      Number
----      ------
John      one
Major     two
Mars      one
我想遍历每个成员并检查编号,然后添加一个属性,最后看起来像这样

Name      Number     IsItOne
----      ------     -------
John      one        True
Major     two        False
Mars      one        True

到目前为止,我得到的是通过对象执行foreach循环,但我有两个对象,据我所知,没有机会更改原始对象

您似乎在谈论一组具有属性
Name
Number
的对象

如果是这样,您可以这样做:

$a | %{  $isitone = $false; if($_.Number -eq "one") {$isitone=$true} $_ | 
         add-member -Type noteproperty -name IsItOne -value $isitone  }
只是另一个(较短)版本:


这里有一个可能的替代方案

function new-stuff ($name, $number) {
    New-Object PSObject -Property @{name=$name; number=$number}
}

$(
    new-stuff John  one
    new-stuff Major two
    new-stuff Mars  one
) | ForEach { $_ | Add-Member -PassThru ScriptProperty IsItOne {$this.Number-eq"one"} }

你说的是一个物体还是一组物体?看来你有三个目标,谢谢。我喜欢这比我想做的工作优雅10倍:)
function new-stuff ($name, $number) {
    New-Object PSObject -Property @{name=$name; number=$number}
}

$(
    new-stuff John  one
    new-stuff Major two
    new-stuff Mars  one
) | ForEach { $_ | Add-Member -PassThru ScriptProperty IsItOne {$this.Number-eq"one"} }