正在从地图 returns 中检索数据 null
Retrieving data from map returns null
我正在尝试从地图中检索信息。
地图是这样的:
$VideoIDs:
[Object[7]]
[0]: @{Key=Load_Sheet; Value =}
[1]: @{Key=Load_Folded; Value =FormLoad}
[2]: @{Key=Load_Media; Value =}
...
(空值确实应该是这样的)
此信息的获取方式与 类似,除了相同的键,我获取的是 VideoID 而不是 AlarmID。
我正在尝试检索 Load_Folded 的信息,但返回的是 null,尽管我可以看到它应该是 FormLoad。
$tmp = "Load_Folded"
$videoIdentifierString = $VideoIDs.$tmp #gives null...same as if I do $VideoIDs[$tmp] or $VideoIDs[$($tmp)] or $VideoIDs["$($tmp)"]
知道如何从地图中获取此信息吗?我无法遍历此映射,只需要获取给定键的值。
这是使用 powershell 5.1 和 VS Code。
这是关于在 PowerShell 中过滤数组中的对象,一个关于此的良好概念的好文档可能是 Where-Object
,尽管有许多方法可以比其他方法更有效地完成此操作。
鉴于 pscustomobject
的数组,您目前拥有:
$result = @(
[pscustomobject]@{ Key = 'Load_Sheet'; Value = '' }
[pscustomobject]@{ Key = 'Load_Folded'; Value = 'FormLoad' }
[pscustomobject]@{ Key = 'Load_Media'; Value = '' }
)
- 使用
Where-Object
:
($result | Where-Object Key -EQ 'Load_Folded').Value
- 使用
.Where(..)
:
$result.Where({ $_.Key -eq 'Load_Folded' }).Value
- 使用
foreach
和 if
条件:
foreach($item in $result) {
if($item.Key -eq 'Load_Folded') {
$item.Value
}
}
我正在尝试从地图中检索信息。
地图是这样的:
$VideoIDs:
[Object[7]]
[0]: @{Key=Load_Sheet; Value =}
[1]: @{Key=Load_Folded; Value =FormLoad}
[2]: @{Key=Load_Media; Value =}
...
(空值确实应该是这样的)
此信息的获取方式与
我正在尝试检索 Load_Folded 的信息,但返回的是 null,尽管我可以看到它应该是 FormLoad。
$tmp = "Load_Folded"
$videoIdentifierString = $VideoIDs.$tmp #gives null...same as if I do $VideoIDs[$tmp] or $VideoIDs[$($tmp)] or $VideoIDs["$($tmp)"]
知道如何从地图中获取此信息吗?我无法遍历此映射,只需要获取给定键的值。
这是使用 powershell 5.1 和 VS Code。
这是关于在 PowerShell 中过滤数组中的对象,一个关于此的良好概念的好文档可能是 Where-Object
,尽管有许多方法可以比其他方法更有效地完成此操作。
鉴于 pscustomobject
的数组,您目前拥有:
$result = @(
[pscustomobject]@{ Key = 'Load_Sheet'; Value = '' }
[pscustomobject]@{ Key = 'Load_Folded'; Value = 'FormLoad' }
[pscustomobject]@{ Key = 'Load_Media'; Value = '' }
)
- 使用
Where-Object
:
($result | Where-Object Key -EQ 'Load_Folded').Value
- 使用
.Where(..)
:
$result.Where({ $_.Key -eq 'Load_Folded' }).Value
- 使用
foreach
和if
条件:
foreach($item in $result) {
if($item.Key -eq 'Load_Folded') {
$item.Value
}
}