我有 2 个数组,每个数组有 2 个字段(例如“项目”和“价格”)。
以下是我的 1 个数组的 get-member 结果(实际上两个数组具有相同的结构)
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
item NoteProperty System.String field1=computer
price NoteProperty System.String field2=2000
我需要在数组 $shopA 中找到在数组 $shopB 中找不到的项目。我现在使用 2 个循环来查找丢失的项目。
$missing = @()
foreach ($itemA in $shopA) {
$found = 0
foreach ($itemB in $shopB) {
if ($itemB.item -eq $itemA.item) {
$found = 1
}
}
if ($found = 0) {
$missing += $itemA
}
}
这种方法对我有用,但我的 2 个数组非常大,我想要一个比循环遍历整个数组更快的方法......
我一直在寻找一种更好的方法来做到这一点,并且 compare-object 几乎可以完成这项工作,但所有示例似乎都仅适用于一维数组。
谢谢