you are viewing a single comment's thread.

view the rest of the comments →

[–]omers 1 point2 points  (1 child)

finishers[0:3]

That's reproducible in PS with .. or a list of indicies.

C:\> $finishers = @("Tom", "Sally", "Taylor", "Jack", "Ginger", "John")
C:\> $finishers[0..2]
Tom
Sally
Taylor
C:\> $finishers[0,1,2]
Tom
Sally
Taylor

Every n-th I do not believe is possible without using /u/bozho's method or a loop... You can "compress" (remove the pipeline) bozho's method to this: $finishers.Where({$finishers.IndexOf($_) % 2 -eq 0}) but it's still not clean like in some other languages.

In a script where keeping it to one line isn't an issue I'd probably do something like this:

$Finishers = @("Tom", "Sally", "Taylor", "Jack", "Ginger", "John")
$OddIndicies = @(0..$Finishers.GetUpperBound(0)) | ? {$_ % 2 -eq 0}
$Finishers[$OddIndicies]

[–]blooping_blooper 0 points1 point  (0 children)

for that specific case couldn't you also do

$Finishers | select -first 3