74 votes

Comparaison de deux tableaux et obtention des valeurs non communes

Je voulais une petite logique pour comparer le contenu de deux tableaux et obtenir la valeur qui n'est pas commune entre eux en utilisant powershell.

exemple si

$a1=@(1,2,3,4,5)
$b1=@(1,2,3,4,5,6)

$c qui est la sortie devrait me donner la valeur " 6 "qui est la sortie de ce qui est la valeur non commune entre les deux tableaux.

Quelqu'un peut-il m'aider à le faire ? Merci !

1voto

Adithya Surampudi Points 2529

Cela devrait aider, utilise une simple table de hachage.

$a1=@(1,2,3,4,5) $b1=@(1,2,3,4,5,6)

$hash= @{}

#storing elements of $a1 in hash
foreach ($i in $a1)
{$hash.Add($i, "present")}

#define blank array $c
$c = @()

#adding uncommon ones in second array to $c and removing common ones from hash
foreach($j in $b1)
{
if(!$hash.ContainsKey($j)){$c = $c+$j}
else {hash.Remove($j)}
}

#now hash is left with uncommon ones in first array, so add them to $c
foreach($k in $hash.keys)
{
$c = $c + $k
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X