Svuota un array in JavaScript

Kirill Ibrahim 12 ottobre 2023
  1. Imposta array su New Array di dimensione zero
  2. Usa la proprietà length per svuotare un array in JavaScript
  3. Usa il metodo splice() per svuotare un array in JavaScript
  4. Usa il metodo pop() per svuotare un array in JavaScript
  5. Modifica i metodi nativi per svuotare un array in JavaScript
Svuota un array in JavaScript

L’array è una raccolta di elementi archiviati in un comodo set indicizzato. E se volessimo svuotare un array che contiene elementi multipli?

Questo tutorial introduce diversi metodi su come svuotare un array in JavaScript.

Imposta array su New Array di dimensione zero

È il modo più veloce. Questo imposterà l’array su un nuovo array vuoto.

let Arr = [1, 2, 3, 4];
Arr = [];

È semplice se non si dispone di alcun riferimento da altri punti all’array originale. Questi riferimenti non verranno aggiornati se lo fai e quei luoghi continueranno a utilizzare il vecchio array. Significa che i riferimenti al contenuto dell’array precedente sono ancora mantenuti in memoria, causando perdite di memoria.

Usalo solo se fai riferimento all’array con la sua variabile originale Arr.

L’esempio di codice riportato di seguito mostra il problema che puoi riscontrare durante l’utilizzo di questo metodo:

let Arr1 = [1, 2, 3, 4, 5, 6];
let Arr2 = Arr1;
Arr1 = [];
console.log({Arr1, Arr2});

Produzione:

{
  Arr1: [],
  Arr2: [1, 2, 3, 4, 5, 6]
}

Usa la proprietà length per svuotare un array in JavaScript

Cancella l’array esistente impostando la sua lunghezza su 0. La proprietà length di un array è una proprietà di lettura / scrittura, quindi funziona anche quando si utilizza la modalità rigorosa in ECMAScript 5.

Arr1.length = 0

In questo modo si ha un vantaggio perché elimina tutto nell’array, il che influisce su altri riferimenti. Se abbiamo due riferimenti allo stesso array, cancelliamo il contenuto dell’array usando Arr1.length = 0, entrambi i riferimenti ora punteranno allo stesso array vuoto.

Esempio:

let foo1 = [1, 2, 3];
let bar1 = [1, 2, 3];
let foo2 = foo1;
let bar2 = bar1;
foo1 = [];
bar1.length = 0;
console.log({foo1, bar1, foo2, bar2});

Produzione:

{
  bar1: [],
  bar2: [circular object Array],
  foo1: [],
  foo2: [1, 2, 3]
}

Usa il metodo splice() per svuotare un array in JavaScript

Il metodo array.splice() è un metodo integrato in JavaScript, che viene utilizzato per aggiungere / rimuovere elementi a / da un array e restituisce gli elementi rimossi.

let Arr1 = ['Tomato', 'Letcuce', 'Spinash', 'Cucumber'];
Arr1.splice(2, 0, 'Lemon', 'Kiwi')
console.log(Arr1);

Produzione:

["Tomato", "Letcuce", "Lemon", "Kiwi", "Spinash", "Cucumber"]

Per svuotare l’array:

Arr1.splice(0, Arr1.length);
console.log(Arr1);

Produzione:

[]

Rimuove tutti gli elementi dall’array e pulirà l’array originale.

Usa il metodo pop() per svuotare un array in JavaScript

Il metodo pop() rimuove l’ultimo elemento da un array e restituisce quell’elemento. E cambierà la lunghezza dell’array.

let vegetables = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

console.log(vegetables.pop());

console.log(vegetables);

Produzione:

tomato
(4) ["broccoli", "cauliflower", "cabbage", "kale"]

Eseguiamo un bucle sull’array, inseriamo l’elemento dell’array su ogni bucle e infine otteniamo l’array vuoto.

let Arr1 = [1, 2, 3, 4, 5];
for (let i = Arr1.length; i > 0; i--) {
  Arr1.pop();
}
console.log(Arr1);

Produzione:

[]

Questa soluzione non è molto concisa ed è anche la soluzione più lenta.

Modifica i metodi nativi per svuotare un array in JavaScript

L’ultima tecnica in questo lista può essere utilizzata con tutti i metodi sopra; JavaScript ci consente di modificare e utilizzare metodi nativi per estendere le loro capacità. Possiamo usare la funzione Array.proptotype.remove per modificare il processo.

Nell’esempio seguente, usiamo il metodo splice(), che abbiamo utilizzato nell’esempio precedente. Ora possiamo usare il processo chiamandolo come la funzione arr.remove().

var arr = [1, 2, 3, 4, 5, 6];

Array.prototype.remove = Array.prototype.remove || function() {
  this.splice(0, this.length);
};

arr.remove();
console.log(arr);

Produzione:

[]

Articolo correlato - JavaScript Array