У меня есть два массива пользовательских объектов - $ deploy и $ directory. У них 4 общих свойства и 1 уникальное свойство. Мне нужно найти элементы обоих массивов, где 4 общих свойства одинаковы, но мне нужно отследить и 2 уникальных свойства для совпадений.
Использование сравнить объект на двух массивах с определенными одинаковыми свойствами, -passthru и -includeequal - это почти то же самое, но дает мне только первый (ссылочный) объект с его уникальным свойством, а не уникальное свойство объекта разности.
Так что я не могу просто сравнить два массива и получить то, что мне нужно. Мне либо нужно сделать вложенный цикл, либо взломать / найти какую-то функцию «установки пересечения». Я буду иметь дело только с несколькими дюжинами членов каждого массива, так что я не слишком обеспокоен производительностью.
Какой подход вы бы выбрали? В приведенном ниже простом примере я хотел бы, чтобы и имя среды, и каталог развертывания отслеживались для всех совпадений.
$deploy
GameBuildVersion : 68858.zip
OnlineVersion : 70793.zip
ContentVersion : 68858.69165-1.zip
ContentBuildVersion : 69165-1.zip
environmentname : Staging35
$directory
GameBuildVersion : 68858.zip
OnlineVersion : 70793.zip
ContentVersion : 68858.69165-1.zip
ContentBuildVersion : 69165-1.zip
deploymentDirectory : C:\deployer\script\deploy-AB