$array = @('blue','red','purple','pink') $array2 = @('brown','red','black','yellow') $array | ForEach-Object { if ($array2 -contains $_) { Write-Host "`$array2 contains the `$array1 string [$_]" } } how to get the index of the match string?
5 Réponses :
ressemble à un exercice de devoirs pour moi. Dans tous les cas, comme mentionné, les choses sont beaucoup plus faciles si vous formatez votre code correctement. Il est également plus facile si vous nommez vos variables plutôt que de compter sur Il existe également d'autres moyens de le faire - voulez-vous que l'index nombre ou le contenu? J'ai supposé ce dernier p> $ _ code>, car il change car il passe par une boucle imbriquée.
tandis que pour .NET Les tableaux em> strong> (tels que ceux créés dans votre question [1] sup>) Vous pouvez utiliser leur -in -in
/
-Contains code> Les opérateurs code> vous permettent de tester pour confinement em> d'une valeur donnée dans une collection (valeur donnée est un élément de la collection),
.indexof () code>
instance méthode / em> strong>, qui utilise $array = 'blue', 'ReD', 'yellow'
[Array]::FindIndex($array, [Predicate[string]] { 'red' -eq $args[0] }) # -> 1
Vous pouvez essayer quelque chose avec un compteur d'index que vous pouvez utiliser. Si Notez que cela ne fonctionnera pas pour une grande quantité de tableaux car il faudra le temps nécessaire pour passer de manière plus grande et plus grande. Mais, pour les petits échantillons comme celui-ci, cela fonctionne bien. P> s'il y a Duplicates fort> dans le $ array2.tolower () code> contient cet élément.TOBOWER (), puis boucle à travers ce second tableau pour savoir où se trouve cet élément.
$ aray2 code> , vous obtiendrez deux lignes distinctes qui montrent chaque entrée d'index. p>
Vous pouvez également faire un résultat: p> pour code> en boucle à l'aide d'un compteur d'index:
$array2 contains the the string 'red' at index: 1
$array2 contains the the string 'black' at index: 2
$array2 contains the the string 'red' at index: 4
utilise iComparer pour forcer l'insensibilité à la casse p>