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"} }