Concept Flow - Object arrays
Create empty array
Create object
Add object to array
Repeat for each object
Use array of objects
We create objects, add them to an array, and then use the array to access all objects.
$obj1 = [PSCustomObject]@{Name='Alice'; Age=30}
$obj2 = [PSCustomObject]@{Name='Bob'; Age=25}
$array = @($obj1, $obj2)
$array | ForEach-Object { $_.Name }| Step | Action | Variable State | Output |
|---|---|---|---|
| 1 | Create object obj1 with Name='Alice', Age=30 | obj1 = {Name=Alice, Age=30} | |
| 2 | Create object obj2 with Name='Bob', Age=25 | obj2 = {Name=Bob, Age=25} | |
| 3 | Create array with obj1 and obj2 | array = [{Name=Alice, Age=30}, {Name=Bob, Age=25}] | |
| 4 | Loop over array and output Name property | array unchanged | Alice |
| 5 | Continue loop | array unchanged | Bob |
| 6 | End loop | array unchanged |
| Variable | Start | After Step 1 | After Step 2 | After Step 3 | Final |
|---|---|---|---|---|---|
| obj1 | undefined | {Name=Alice, Age=30} | {Name=Alice, Age=30} | {Name=Alice, Age=30} | {Name=Alice, Age=30} |
| obj2 | undefined | undefined | {Name=Bob, Age=25} | {Name=Bob, Age=25} | {Name=Bob, Age=25} |
| array | undefined | undefined | undefined | [{Name=Alice, Age=30}, {Name=Bob, Age=25}] | [{Name=Alice, Age=30}, {Name=Bob, Age=25}] |
Object arrays in PowerShell:
- Create objects with [PSCustomObject]@{Property=Value}
- Store objects in an array: $array = @($obj1, $obj2)
- Access objects with loops: $array | ForEach-Object { $_.Property }
- Arrays hold multiple objects for easy management
- Use properties to get data from each object