Cómo vaciar una matriz en JavaScript

En JavaScript, hay varias formas disponibles para eliminar todos los elementos de una matriz. El método más simple es establecer el length de la matriz valor de la propiedad a 0.

Aquí hay un ejemplo:

const numbers = [1, 2, 3, 4, 5, 6];

// set length to 0
numbers.length = 0;

console.log(numbers); // []

Desde el length propiedad es escribible, el ejemplo anterior borrará todos los elementos de la matriz. Además, no muta la matriz original y funciona en todos los navegadores modernos y antiguos, incluido Internet Explorer.

Otra forma de eliminar todos los elementos de una matriz es asignando una matriz vacía a la variable original:

let numbers = [1, 2, 3, 4, 5, 6];

// reset array
numbers = [];

console.log(numbers); // []

Solo debe usar este método cuando esté seguro de que la matriz original no está referenciada en cualquier otro lugar del código porque esto en realidad crea una nueva matriz vacía. Si hace referencia a la matriz original desde otra variable o propiedad, la matriz original permanecerá sin cambios. Por lo tanto, debe tener cuidado al usar este método.

Aquí hay un ejemplo que demuestra el problema que puede encontrar al asignar una nueva matriz a una matriz ya existente:

let numbers = [1, 2, 3, 4, 5, 6];

let numbers2 = numbers; // store original array reference

// reset original array
numbers = [];

// print reference variable
console.log(numbers2); // [1, 2, 3, 4, 5, 6]

El splice() el método es aún otro camino para vaciar una matriz en JavaScript:

let numbers = [1, 2, 3, 4, 5, 6];

// empty the array
numbers.splice(0, numbers.length);

console.log(numbers); // []

También puede agregar un nuevo método a Array y utilícelo siempre que desee borrar una matriz:

// add prototype method
Array.prototype.clear = function () {
    this.length = 0;
};

let numbers = [1, 2, 3, 4, 5, 6];

// clear arary
numbers.clear();

console.log(numbers); // []

Eche un vistazo a esta guía para obtener más información sobre las matrices de JavaScript y sus métodos.