Cómo crear un arreglo vacío de arreglos en PowerShell
- Entendiendo los Arrays en PowerShell
-
Cómo Crear un Array Vacío de Arrays en PowerShell Usando el Operador de Subexpresión de Array
@()
-
Cómo Crear un Array Vacío de Arrays en PowerShell Usando el Cmdlet
New-Object
con la ClaseSystem.Collections.ArrayList
-
Cómo Crear un Array Vacío de Arrays en PowerShell Usando la Hashtable
@{}
- Conclusión

PowerShell, con sus versátiles capacidades de scripting, ofrece varias formas de crear y manipular arrays.
Un requerimiento común es crear un array vacío que pueda contener otros arrays. Este escenario a menudo surge cuando necesitas organizar datos en una estructura multidimensional.
En este artículo, exploraremos varios métodos para crear un array vacío de arrays en PowerShell.
Entendiendo los Arrays en PowerShell
Antes de profundizar en la creación de un array vacío de arrays, es crucial entender los conceptos básicos de los arrays en PowerShell. Un array en PowerShell es una estructura de datos que almacena una colección de elementos.
Estos elementos pueden ser de cualquier tipo de dato, y los arrays pueden cambiar de tamaño dinámicamente para acomodar nuevos elementos según sea necesario. PowerShell proporciona varias maneras de trabajar con arrays, incluyendo la creación, acceso y modificación de su contenido.
Aquí hay un ejemplo básico de creación de un array en PowerShell:
$myArray = @(1, 2, 3, 4, 5)
$myArray
En este ejemplo, $myArray
se asigna a un array que contiene cinco enteros.
Salida:
En PowerShell, los arrays pueden contener elementos de cualquier tipo, incluidos otros arrays. Un array de arrays, también conocido como un array irregular, es una estructura de datos que consiste en múltiples arrays, donde cada elemento del array principal contiene otro array.
Esta estructura te permite almacenar datos heterogéneos en un formato multidimensional, facilitando la gestión y el acceso a los elementos en función de diferentes criterios.
Los arrays en PowerShell son de índice cero, lo que significa que el primer elemento se accede utilizando el índice 0, el segundo elemento utilizando el índice 1, y así sucesivamente. Los arrays de PowerShell pueden cambiar de tamaño dinámicamente, lo que permite flexibilidad en la gestión de datos.
Cómo Crear un Array Vacío de Arrays en PowerShell Usando el Operador de Subexpresión de Array @()
El operador de subexpresión de array @()
es una herramienta versátil en PowerShell que se puede utilizar para varias operaciones con arrays, incluyendo la creación de arrays vacíos. Cuando se utiliza para crear un array vacío de arrays, inicializa un contenedor de arrays capaz de contener otros arrays como sus elementos.
Al usar este operador junto con la coma ,
para separar elementos, podemos construir una estructura de array donde cada elemento es a su vez un array.
Veamos un ejemplo de código para ilustrar cómo crear un array vacío de arrays utilizando el operador de subexpresión de array @()
.
$arrayOfArrays = @()
Aquí, inicializamos un array vacío llamado $arrayOfArrays
usando el operador de subexpresión de array @()
. Esto crea un contenedor de array vacío capaz de contener otros arrays.
Dado que no se proporcionan elementos dentro del operador @()
, el array resultante está vacío.
Agregando Arrays al Array Vacío
Una vez que has creado el array vacío de arrays, puedes agregar arrays individuales a él como elementos. Esto se hace comúnmente utilizando el operador +=
, que agrega un elemento a un array existente:
$arrayOfArrays += , (1, 2, 3)
$arrayOfArrays += , (4, 5)
$arrayOfArrays += , (6, 7, 8, 9)
Write-Host "First Array:"
$arrayOfArrays[0]
Write-Host "Second Array:"
$arrayOfArrays[1]
Write-Host "Third Array:"
$arrayOfArrays[2]
En este segmento de código, agregamos subarrays a $arrayOfArrays
. Para asegurarnos de que cada subarray se trate como un solo elemento, lo precedemos con una coma ,
.
Esto evita que PowerShell concatene los subarrays en un solo array. Cada subarray está encerrado entre paréntesis y separado por comas.
Agregamos tres subarrays de diferentes longitudes para demostrar flexibilidad.
Finalmente, mostramos el contenido de $arrayOfArrays
para verificar su estructura y contenido. PowerShell muestra el array, mostrando cada elemento como un subarray separado.
Salida del código:
La salida demuestra que $arrayOfArrays
es de hecho un array que contiene múltiples subarrays, cada uno con un conjunto distinto de valores. Esto confirma la creación exitosa de un array vacío de arrays utilizando el operador de subexpresión de array @()
en PowerShell.
Cómo Crear un Array Vacío de Arrays en PowerShell Usando el Cmdlet New-Object
con la Clase System.Collections.ArrayList
Otro enfoque que podemos usar para crear un array vacío de arrays para almacenar datos estructurados es el cmdlet New-Object
en combinación con la clase System.Collections.ArrayList
.
La clase System.Collections.ArrayList
en PowerShell proporciona una estructura de datos flexible y dinámica similar a un array. Al utilizar el cmdlet New-Object
, podemos instanciar una instancia de esta clase para crear un array vacío.
Posteriormente, podemos agregar subarrays como elementos a este array de arrays. Este enfoque permite un cambio de tamaño dinámico y una gestión eficiente de los arrays, lo que lo hace adecuado para varios escenarios de scripting.
Veamos cómo podemos crear un array vacío de arrays usando este enfoque:
$arrayOfArrays = New-Object System.Collections.ArrayList
Aquí, usamos el cmdlet New-Object
para instanciar una nueva instancia de la clase System.Collections.ArrayList
. Esto crea un contenedor de array vacío capaz de contener otros arrays.
La variable $arrayOfArrays
ahora hace referencia a este objeto ArrayList
vacío.
Accediendo a los Elementos del Array de Arrays
Después de crear el array vacío, ahora podemos acceder y manipular sus elementos según sea necesario:
$arrayOfArrays.Add(@(11, 12, 13))
$arrayOfArrays.Add(@(14, 15))
$arrayOfArrays.Add(@(16, 17, 18, 19))
Write-Host "First Array:"
$arrayOfArrays[0]
Write-Host "Second Array:"
$arrayOfArrays[1]
Write-Host "Third Array:"
$arrayOfArrays[2]
En este segmento de código, agregamos subarrays al objeto $arrayOfArrays ArrayList
. Usamos el método .Add()
del objeto ArrayList
para agregar subarrays al array.
Cada subarray está encerrado en @()
para asegurarnos de que se trate como un solo elemento. Agregamos tres subarrays de diferentes longitudes para mostrar la flexibilidad de este enfoque.
Finalmente, mostramos el contenido del objeto $arrayOfArrays ArrayList
para verificar su estructura y contenido. PowerShell muestra el ArrayList
, mostrando cada elemento como un subarray separado.
Salida del código:
La salida confirma que $arrayOfArrays
es un ArrayList
que contiene múltiples subarrays, cada uno con conjuntos distintos de valores. Esto demuestra la creación exitosa de un array vacío de arrays utilizando el cmdlet New-Object
con la clase System.Collections.ArrayList
en PowerShell.
Cómo Crear un Array Vacío de Arrays en PowerShell Usando la Hashtable @{}
En PowerShell, las hashtables (@{}
) proporcionan una forma conveniente de almacenar pares clave-valor. Aunque se usan típicamente para pares clave-valor, también podemos utilizar hashtables para crear un array vacío de arrays asociando cada clave con un array vacío.
Este método proporciona una clara estructura organizativa para gestionar múltiples arrays y permite un fácil acceso y manipulación de los elementos del array.
Aquí está cómo crear un array vacío de arrays usando la sintaxis de hashtable @{}
:
$arrayOfArrays = @{}
Agregando Elementos al Array de Arrays
Ahora que hemos creado el array vacío de arrays utilizando el enfoque de la hashtable, podemos acceder y manipular sus elementos según sea necesario:
$arrayOfArrays["Array1"] += @(1, 2, 3)
$arrayOfArrays["Array2"] += @(4, 5)
$arrayOfArrays["Array3"] += @(6, 7, 8, 9)
$arrayOfArrays
En este segmento de código, agregamos subarrays a los arrays vacíos dentro de $arrayOfArrays
. Usamos la indexación de arrays para acceder a cada array vacío por su clave ("Array1"
, "Array2"
, "Array3"
) y luego agregamos subarrays usando el operador +=
.
Cada subarray está encerrado en @()
para asegurarnos de que se trate como un solo elemento.
Finalmente, mostramos el contenido de la hashtable $arrayOfArrays
para verificar su estructura y contenido. PowerShell muestra la hashtable, mostrando cada par clave-valor, donde los valores son arrays que contienen subarrays.
Salida del código:
La salida confirma que $arrayOfArrays
es una hashtable que contiene tres claves ("Array1"
, "Array2"
, "Array3"
), cada una asociada con un array que contiene conjuntos distintos de valores.
Conclusión
En conclusión, crear un array vacío de arrays en PowerShell ofrece versatilidad y flexibilidad para gestionar estructuras de datos complejas en tareas de scripting y automatización.
Exploramos tres métodos distintos para lograr esto: utilizando el operador de subexpresión de array @()
, el cmdlet New-Object
con la clase System.Collections.ArrayList
, y reutilizando la sintaxis de hashtable @{}
. Cada método presenta sus ventajas y consideraciones, atendiendo a diferentes preferencias y requisitos.
El operador de subexpresión de array @()
proporciona un enfoque conciso y directo, aprovechando la sintaxis nativa de PowerShell para crear arrays vacíos de manera eficiente. Mientras tanto, el cmdlet New-Object
con la clase System.Collections.ArrayList
ofrece capacidades de cambio de tamaño dinámico y gestión, adecuado para escenarios que requieren manipulación frecuente de arrays.
Finalmente, reutilizar la sintaxis de hashtable @{}
, aunque poco convencional, aporta simplicidad y legibilidad en ciertos contextos.
Independientemente del método elegido, dominar la creación de arrays vacíos de arrays equipa a los usuarios de PowerShell con habilidades esenciales para desarrollar scripts robustos y automatización.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn