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