powershell - 在哈希表数组中查找重复项
问题描述
我有一个哈希表数组,我需要查找是否有元素具有相同的Name
.
我有这个HasDuplicate
函数,它返回True
或者False
数组是否包含重复。
我在这里所做的是遍历每个元素并将Name
其添加到另一个数组中,然后检查它是否为exists
. 但是这段代码看起来不太好,我在想是否有另一种方法可以实现这一点
# object looks like this
$array = @(
@{ Name = 'First', Passed = $True }
@{ Name = 'First', Passed = $False }
)
Function HasDuplicate
{
param($array)
$all = @()
foreach($item in $array)
{
$item_name = $item.Name
if($all -contains $item_name)
{
Write-Error "Duplicate name ""$item_name"""
return $True
}
else
{
$all += $item_name
}
}
return $False
}
解决方案
Group-Object 可能是最简单的,如下所示:
$array = @(
@{ Name = 'First'; Passed = $True }
@{ Name = 'First'; Passed = $False }
)
$array.Name | Group-Object | Where-Object Count -GT 1
推荐阅读
- django - django drf 用谷歌测试社交 oauth2
- r - 使用 R 将每日数据转换为每周数据
- javascript - 如何暂停 addEventListener 半秒?
- kotlin - Kotlin 没有被视图模型调用
- html - 如何在引导程序中修复等列高度问题
- mysql - 使用“查询生成器”创建一个函数,允许取值的平均值 - Symfony
- c++ - final 类和覆盖 final 的区别
- python - reading images in a loop using requests.get changes behavior
- mongodb - Convert string to date in pymongo
- javascript - 从 btao 更改为 Buffer 但推送到 Vercel 时收到 TypeError