需要 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 查找。
我有一个包含两个键的哈希表,每个键都是一个数组。如果一个键的数组包含给定值,我想 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 查找。