On Aug 8, 3:44*pm, "Alex K. Angelopoulos" <aka(at)mvps.org> wrote:
Quote:
> *function ArrayToHash
> {
> Param($array, $indexproperty)
> $hash = @{}
> $array | %{$hash[$_.$indexproperty] = $_}
> $hash
>
> }
>
> This should turn any enumerable collection into a hash using the named
> property as an index. For example, you can collect filesystem objects from
> the current location and use their FullName property as the index like this:
>
> ArrayToHash (gci) FullName
>
> or, to collect them into a variable:
>
> $h = ArrayToHash (gci) FullName
>
> "RickB" <rbiel...@xxxxxx> wrote in message
>
> news:9853d408-c430-410b-a32c-d34ec51a51cc@xxxxxx
>
>
> Quote:
> > I'm looking for the simplest way to turn an array of custom objects
> > into a hashtable with some particular property of the custom object
> > being the key.
> Quote:
> > So, given some function that emits an array of objects
> Quote:
> > function myArray {
> > 1..10|
> > *%{$a=$_;""|
> > *select-object name,even,sqr|
> > *%{$_.name = "a$a"
> > * *$_.even = [int]($a/2)*2 -eq $a
> > * *$_.sqr = $a*$a
> > * *$_}}}
> Quote:
> > What function f will result in
> Quote:
> > PS 1> $h = f $(myArray) name
> > PS 2> $h.a3.even
> > False- Hide quoted text -
>
> - Show quoted text - Wonderfull
That was so much help
Thanks!