Lou*_* J. 3 powershell hashtable powershell-3.0
我必须迭代一个多维哈希表,例如:
$ou=@{
class = @{
value1 = @{
1= ""
}
value2 = ""
value3 = ""
}
}
Run Code Online (Sandbox Code Playgroud)
我所需要的只是一种访问哈希表的每个键(values1、value2...)的方法。我已经尝试过 foreach 和 for 循环,但没有成功。首先,我使用 foreach 循环迭代第一个哈希表:
foreach ($key in $a.keys){
write-host $key.keys
}
Run Code Online (Sandbox Code Playgroud)
但我很难添加第二个循环。我必须再次迭代密钥吗?为什么 $key.keys 给我所有的钥匙而不是一个接一个的?
这
function keys ($h) { foreach ($k in $h.keys) { $k ; keys $h[$k] }}
Run Code Online (Sandbox Code Playgroud)
将递归遍历所有键。请注意,它对哈希表元素的值而不是键进行递归。因此,在您的评论示例中,您可能想在第二级循环中迭代$a[$key].keynot in 。$key.keys
| 归档时间: |
|
| 查看次数: |
3535 次 |
| 最近记录: |