0
我有此数组:搜索的多阵列,并返回指数
$Cluster = @(("vcdvc012", "CL-CC5-DR"),
("vcdvc013", "CL-CCL3-DR"))
现在我想搜索“vcdvc012”才能够得到尽可能结果“CL-CC5-DR”。
这样做的最好方法是什么? Gabrie
我有此数组:搜索的多阵列,并返回指数
$Cluster = @(("vcdvc012", "CL-CC5-DR"),
("vcdvc013", "CL-CCL3-DR"))
现在我想搜索“vcdvc012”才能够得到尽可能结果“CL-CC5-DR”。
这样做的最好方法是什么? Gabrie
尝试:
$Cluster | ? { $_[0] -eq 'vcdvc012' } | % { $_[1] }
弗罗德有一个普遍的答案,但它依赖于知道元素的位置。由于您正在处理阵列,因此运营商-contains
和-in
将对此有所帮助。除非您创建了自己的自定义对象,否则对第二个元素的选择不会有太大的改变。
$Cluster | Where-Object {$_ -contains 'vcdvc012'} | ForEach-Object{ $_[1] }
$Cluster | Where-Object {'vcdvc012' -in $_} | ForEach-Object{ $_[1] }
两者的工作原理都是一样的。后者更直观,因为许多人困惑于-contains
的功能。 -in
在V3.0提供
最好的办法是用一个哈希表或具有多个属性的对象的数组来替代它,所以你并不需要摆在首位 –
我想重新多级阵列强制@ FrodeF。的评论,因为虽然下面的答案确实提供了答案,但可能有更好的方法来完成你正在努力完成的任务。 – TheMadTechnician