Eliminar elemento de una matriz en PowerShell

Rohan Timalsina 21 junio 2023
Eliminar elemento de una matriz en PowerShell

Una matriz de PowerShell tiene un tamaño fijo y no se puede cambiar. Significa que no puede agregar o eliminar elementos en una matriz.

La mejor alternativa es usar una ArrayList en lugar de una matriz. Una ArrayList no tiene la longitud de tamaño fijo y se puede modificar.

Este artículo enseña cómo crear una ArrayList y eliminar elementos de ella en PowerShell.

Utilice el método Remove() para eliminar elementos de una ArrayList en PowerShell

El siguiente ejemplo crea una ArrayList $days con los elementos Sunday, Monday y Tuesday.

[System.Collections.ArrayList]$days = "Sunday", "Monday", "Tuesday"

Puede utilizar el método Get-Type() para ver el tipo de datos actual de una variable.

$days.GetType()

Producción :

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     ArrayList                                System.Object

El resultado muestra que hemos creado con éxito una ArrayList. Puede verificar si es un tamaño fijo o no ejecutando el siguiente comando.

$days.IsFixedSize

Producción :

False

Devolvió False, lo que significa que no tiene un tamaño fijo.

Ahora, agreguemos un nuevo elemento, Miércoles, a ArrayList $days. El método Add() añade un nuevo elemento al final de ArrayList.

$days.Add("Wednesday")

Imprime el número de índice en el que se agrega un nuevo elemento.

3

Ejecute lo siguiente para verificar el elemento agregado en ArrayList.

$days

Producción :

Sunday
Monday
Tuesday
Wednesday

Como puede ver, Wednesday se agrega con éxito a ArrayList $days.

Para eliminar un elemento de ArrayList, puede utilizar el método Remove().

$days.Remove("Monday")
$days

Producción :

Sunday
Tuesday
Wednesday

El método Remove() elimina la primera aparición del elemento especificado de la ArrayList.

También puede eliminar un elemento específico utilizando el número de índice. El método RemoveAt() permite eliminar un elemento en el índice especificado de ArrayList.

El siguiente ejemplo elimina el elemento en el número de índice 2 de ArrayList $days.

$days.RemoveAt(2)
$days

Producción :

Sunday
Tuesday

A veces, es posible que tenga varios elementos para eliminar de un rango específico, por ejemplo, 1-10, 5-9, 12-22, etc. En tales casos, puede usar el método RemoveAt() para eliminar un rango de elementos de la Lista de arreglos.

Este comando crea un nuevo ArrayList $months.

[System.Collections.ArrayList]$months = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"

El siguiente ejemplo eliminará elementos en el rango de números de índice 6-11 de ArrayList $months.

$months.RemoveRange(6,5)

Compruebe si esos elementos se eliminan de ArrayList.

$months

Producción :

Jan
Feb
Mar
Apr
May
Jun
Dec

Si está confundido con los parámetros, utiliza la siguiente sintaxis.

RemoveRange(index, count)
  1. índice: índice inicial del rango de elementos que se eliminarán.
  2. recuento - número de elementos a eliminar del rango inicial.
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website