如何在 powershell 中查找和获取多维数组的值?
How do I find and get value from multi dimensional array in powershell?
基本上我有一个类似于
的数组
areaCodes = @ (
@("310", "LA"),
@("212", "NY"),
@("702", "LV")
)
我想拥有它,例如,如果我有一个变量 $code = 2
查找它是否在列表中,如果在,则获取与之关联的值。
类似
if($areaCodes.contains($code))
{
WRITE-HOST $areaCodes[1]
}
这将输出 NY
如何在 powershell 中执行此操作?还是有更有效的方法来做到这一点?
您需要枚举数组中的所有数组才能正常工作,例如:
($areaCodes | Where-Object { $_ -contains $code })[1] # => NY
或使用实际循环:
foreach($array in $areaCodes) {
if($array -contains $code) {
$array[1]
break
}
}
但退一步说,hash table 似乎更适合您的用例:
$code = 212
$areaCodes = @{
310 = "LA"
212 = "NY"
702 = "LV"
}
$areaCodes[$code] # => NY
基本上我有一个类似于
的数组areaCodes = @ (
@("310", "LA"),
@("212", "NY"),
@("702", "LV")
)
我想拥有它,例如,如果我有一个变量 $code = 2
查找它是否在列表中,如果在,则获取与之关联的值。
类似
if($areaCodes.contains($code))
{
WRITE-HOST $areaCodes[1]
}
这将输出 NY
如何在 powershell 中执行此操作?还是有更有效的方法来做到这一点?
您需要枚举数组中的所有数组才能正常工作,例如:
($areaCodes | Where-Object { $_ -contains $code })[1] # => NY
或使用实际循环:
foreach($array in $areaCodes) {
if($array -contains $code) {
$array[1]
break
}
}
但退一步说,hash table 似乎更适合您的用例:
$code = 212
$areaCodes = @{
310 = "LA"
212 = "NY"
702 = "LV"
}
$areaCodes[$code] # => NY