PowerShell:如何从哈希表中删除元素
您可以使用以下方法从 PowerShell 中的哈希表中删除元素:
方法1:按名称删除元素
$my_hash.Remove('A0005')
此特定示例从名为 $my_hash 的哈希表中删除名为 A0005 的元素。
方法2:根据条件删除元素
($my_hash.GetEnumerator() | ? {$_.Value -le 15}) | % {$my_hash.Remove($_.Name)}此特定示例从名为 $my_hash 的哈希表中删除 Value 小于或等于 15 的所有元素。
以下示例展示了如何在实践中使用每种方法。
示例 1:如何按名称从哈希表中删除元素
假设我们在 PowerShell 中创建以下哈希表,其中包含表示员工 ID 号的键和表示每个员工的总销售额的值:
$employees = @{
'A0001' = 24;
'A0002' = 20;
'A0003' = 14;
'A0004' = 31;
'A0005' = 9;
'A0006' = 15;
'A0007' = 22;
}以下屏幕截图显示了如何在实践中使用此语法:
假设我们要从哈希表中删除键等于A0005的元素。
我们可以使用以下语法来执行此操作:
$employees.Remove('A0005')以下屏幕截图显示了如何在实践中使用此语法:
我们可以看到键等于A0005的元素已从哈希表中删除,而所有其他元素仍然保留。
示例2:如何根据条件从哈希表中删除元素
再次假设我们在 PowerShell 中创建以下哈希表,其中包含表示员工 ID 号的键和表示每个员工的总销售额的值:
$employees = @{
'A0001' = 24;
'A0002' = 20;
'A0003' = 14;
'A0004' = 31;
'A0005' = 9;
'A0006' = 15;
'A0007' = 22;
}
以下屏幕截图显示了如何在实践中使用此语法:
假设我们要从哈希表中删除 Value 小于或等于 15 的所有元素。
我们可以使用以下语法来执行此操作:
($employees.GetEnumerator() | ? {$_.Value -le 15}) | % {$employees.Remove($_.Name)}以下屏幕截图显示了如何在实践中使用此语法:
我们可以看到Value小于或等于15的每个元素都已从哈希表中删除。


