I have a hashtable with two keys, each key is an array. If one key's array contains a given value, I want to return the same index item from the second key. Here's the code snippet:
$ht=@{"Name" = @("Release", "Build", "Test", "CI/CD")
"Type" = @("Release Workflow", "Build Workflow", "Testing Workflow", "CI/CD Workflow")
}
if($ht.Name.Contains("Release")){
}
So for the second statement, I want to return the value "Release Workflow". So far I'm not having much luck and any help would be appreciated.
I'm not quite sure if this is what you're looking for:
$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)]
}
Note that, the .Contains(..)
array method is case-sensitive, you might want to use -contains
or -in
operators for a case-insensitive lookup.