3 Stimmen

Wie leert man ein Javascript-Array?

var arr = [-3, -34, 1, 32, -100];

Wie kann ich alle Elemente entfernen und nur ein leeres Feld zurücklassen?

Und ist es eine gute Idee, dies zu verwenden?

arr = [];

Herzlichen Dank!

20voto

John Kugelman Punkte 327535

Wenn es keine anderen Verweise auf dieses Array gibt, dann erstellen Sie einfach ein neues leeres Array über dem alten:

array = [];

Wenn Sie ein vorhandenes Array ändern müssen - zum Beispiel, wenn an anderer Stelle ein Verweis auf dieses Array gespeichert ist:

var array1 = [-3, -34, 1, 32, -100];
var array2 = array1;

// This.
array1.length = 0;

// Or this.
while (array1.length > 0) {
    array1.pop();
}

// Now both are empty.
assert(array2.length == 0);

4voto

a.boussema Punkte 1056

Die einfache, leichte und sichere Art, dies zu tun, ist :

arr.length = 0;

Erstellen einer neuen Instanz von array, leitet den Verweis auf eine andere neue Instanz um, gibt aber die alte nicht frei.

2voto

Johannes Weiss Punkte 49967

Einer dieser beiden:

var a = Array();
var a = [];

2voto

BoltClock Punkte 660640

Genau wie Sie sagen:

arr = [];

0voto

Stephen Punkte 18461

Verwendung von arr = []; um das Array zu leeren, ist weitaus effizienter als so etwas wie eine Schleife zu machen und jeden Schlüssel zurückzusetzen oder das Objekt zurückzusetzen und dann neu zu erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X