Svuota un array in JavaScript
- Imposta array su New Array di dimensione zero
-
Usa la proprietà
length
per svuotare un array in JavaScript -
Usa il metodo
splice()
per svuotare un array in JavaScript -
Usa il metodo
pop()
per svuotare un array in JavaScript - Modifica i metodi nativi per svuotare 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:
[]