需要 return 哈希表中的数组元素,这取决于键的数组是否包含特定值

Need to return an array element from a hashtable based upon if the key's array contains a certain value

我有一个包含两个键的哈希表,每个键都是一个数组。如果一个键的数组包含给定值,我想 return 来自第二个键的相同索引项。这是代码片段:

$ht=@{"Name" = @("Release", "Build", "Test", "CI/CD")
    "Type" = @("Release Workflow", "Build Workflow", "Testing Workflow", "CI/CD Workflow")
}



if($ht.Name.Contains("Release")){
    
}

所以对于第二个语句,我想 return 值“Release Workflow”。到目前为止,我运气不佳,我们将不胜感激。

我不太确定这是否是您要查找的内容:

$ht = @{
    "Name" = @("Release", "Build", "Test", "CI/CD")
    "Type" = @(
        "Release Workflow", "Build Workflow"
        "Testing Workflow", "CI/CD Workflow"
    )
}
$key = "Release"

# Might want to use `-contains $key` or `$key -in` here
if($ht.Name.Contains($key)){
    $ht['Type'][$ht['Name'].IndexOf($key)]
}

请注意,.Contains(..) 数组方法是 case-sensitive,您可能希望使用 -contains-in 运算符进行 case-insensitive 查找。