gpt4 book ai didi

powershell-3.0 - 根据原始父对象上的数组中对象的属性值过滤原始数组

转载 作者:行者123 更新时间:2023-12-05 01:03:04 24 4
gpt4 key购买 nike

我有一个名为 $releases 的 PowerShell 对象数组。发布包含与发布相关的项目的 ID、名称和 可选 对象数组。每个项目都有一个 ID 和 Name 属性。下面是一个例子。

id                  : 1
name : Release 5
associated_projects : {@{id=50; name=Project 1}}

id : 2
name : Release 6
associated_projects : {@{id=51; name=Project 2}}

id : 3
name : Release 7

我想过滤结果,以便只返回那些具有特定关联项目 ID 的关联项目的版本。例如,如果我的关联项目 id 是 50,我会从上面的示例返回版本 1。

我最初的方法是简单地使用嵌套的 for-each 遍历版本以查找相关项目的 ID。找到后,将版本添加到另一个数组并返回结果。但是,似乎有一种更合适的方法可以在 PowerShell 中使用 Where-Object 来处理这个问题。然而,我尝试根据原始父对象的数组中对象的属性值过滤此集合失败了。

有没有更好的方法来过滤这个对 PowerShell 来说更惯用的方法?

最佳答案

这样的?

PS> $releases | ?{ $_.associated_projects -ne $null }

Name Value
---- -----
associated_projects {id, name}
name Release 5
id 1
associated_projects {id, name}
name Release 6
id 2

这会过滤掉 associated_projects 键不是 $null 的对象。

关于powershell-3.0 - 根据原始父对象上的数组中对象的属性值过滤原始数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19479287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com