我有这个数组:
$Cluster = @( ("vcdvc012", "CL-CC5-DR"),
("vcdvc013", "CL-CCL3-DR"))
现在我想搜索" vcdvc012"能够得到结果" CL-CC5-DR"。
最好的方法是什么? 加布里
答案 0 :(得分:2)
尝试:
$Cluster | ? { $_[0] -eq 'vcdvc012' } | % { $_[1] }
答案 1 :(得分:0)
Frode有一个通用的答案,但它依赖于知道元素的位置。由于您正在处理数组,因此运算符-contains
和-in
在这里是有益的。除非您创建了自己的自定义对象,否则选择第二个元素不会有太大变化。
$Cluster | Where-Object {$_ -contains 'vcdvc012'} | ForEach-Object{ $_[1] }
$Cluster | Where-Object {'vcdvc012' -in $_} | ForEach-Object{ $_[1] }
两者都会起作用。后者更直观,因为许多人混淆了-contains
的功能。 -in
已在v3.0中提供