检查数组中的空值
Check for empty value in Array
如何检查哈希表中的空值,并列出项目名称?
我可以 if ($Vars.ContainsValue($null))
但这并没有让我得到具有 $null
值
的项目
$Vars = @{
1 = "CustomerID";
2 = "DepartmentID";
3 = "Environment";
4 = "JoinDomain";
5 = ""
}
如果我做 foreach ($var in $vars)
我得到整个哈希表?
首先这不是array
,因为它们写成@('element1', 'element2')
。这涉及一个 HashTable
,表示为 @{}
并且通过 GetEnumerator()
方法是 enumerated
。
在该方法之后,只需使用 key
and/or value
属性.
过滤掉您需要的内容即可
$Vars = @{
1 = "CustomerID";
2 = "DepartmentID";
3 = "Environment";
4 = "JoinDomain";
5 = ""
}
$VerbosePreference = 'Continue'
$Vars.GetEnumerator() | Where-Object {
-not $_.Value
} | ForEach-Object {
Write-Verbose "The key '$($_.Key)' has no value"
# Other code for handling the key with no value
}
如何检查哈希表中的空值,并列出项目名称?
我可以 if ($Vars.ContainsValue($null))
但这并没有让我得到具有 $null
值
$Vars = @{
1 = "CustomerID";
2 = "DepartmentID";
3 = "Environment";
4 = "JoinDomain";
5 = ""
}
如果我做 foreach ($var in $vars)
我得到整个哈希表?
首先这不是array
,因为它们写成@('element1', 'element2')
。这涉及一个 HashTable
,表示为 @{}
并且通过 GetEnumerator()
方法是 enumerated
。
在该方法之后,只需使用 key
and/or value
属性.
$Vars = @{
1 = "CustomerID";
2 = "DepartmentID";
3 = "Environment";
4 = "JoinDomain";
5 = ""
}
$VerbosePreference = 'Continue'
$Vars.GetEnumerator() | Where-Object {
-not $_.Value
} | ForEach-Object {
Write-Verbose "The key '$($_.Key)' has no value"
# Other code for handling the key with no value
}