2890 Stimmen

Wie kann man etwas an ein Array anhängen?

Wie füge ich ein Objekt (z. B. eine Zeichenfolge oder eine Zahl) an ein Array in JavaScript an?

17voto

yoel halb Punkte 11337

Wenn Sie den höchsten Index kennen (z. B. gespeichert in einer Variablen "i"), können Sie Folgendes tun

myArray[i + 1] = someValue;

Wenn Sie das jedoch nicht wissen, können Sie entweder

myArray.push(someValue);

wie in anderen Antworten vorgeschlagen, oder Sie können

myArray[myArray.length] = someValue;

Beachten Sie, dass das Array auf Null basiert, so dass .Länge gibt den höchsten Index plus eins zurück.

Beachten Sie auch, dass Sie nicht in der Reihenfolge addieren müssen, sondern auch Werte überspringen können, wie in

myArray[myArray.length + 1000] = someValue;

In diesem Fall haben die Werte dazwischen einen Wert von undefiniert .

Es ist daher eine gute Praxis, beim Durchlaufen einer JavaScript-Schleife zu überprüfen, ob ein Wert an dieser Stelle tatsächlich existiert.

Dies kann etwa wie folgt geschehen:

if(myArray[i] === "undefined"){ continue; }

Wenn Sie sicher sind, dass Sie keine Nullen im Array haben, können Sie das einfach tun:

if(!myArray[i]){ continue; }

Stellen Sie in diesem Fall natürlich sicher, dass Sie als Bedingung nicht myArray[i] verwenden (wie einige Leute im Internet vorschlagen, die davon ausgehen, dass, sobald i größer ist als der höchste Index, gibt er undefiniert was zu folgenden Ergebnissen führt falsch ).

16voto

Hoque MD Zahidul Punkte 7948

Sie können dies mit JavaScript tun Spread-Operator-Syntax :

// Initialize the array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// Append a new value to the array

arr = [...arr, "Feni"]; 

// Or you can add a variable value

var testValue = "Cool";

arr = [...arr, testValue ];

console.log(arr);

// Final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]

12voto

Karl Punkte 1670

concat() kann natürlich auch mit zweidimensionalen Feldern verwendet werden. Keine Schleifenbildung erforderlich.

var a = [
    [1, 2],
    [3, 4] ];

var b = [
    ["a", "b"],
    ["c", "d"] ];

b = b.concat(a);

alert(b[2][1]); // Result: 2

11voto

Danil Gaponov Punkte 1383

Ich möchte nur ein Snippet für nicht-destruktives Hinzufügen eines Elements hinzufügen.

var newArr = oldArr.concat([newEl]);

11voto

9ete Punkte 3592

Lassen Sie die Array-Länge die Arbeit machen:

myarray[myarray.length] = 'new element value added to the end of the array';

myarray.length gibt die Anzahl der Strings im Array zurück. JavaScript ist nullbasiert so dass der nächste Elementschlüssel des Arrays die aktuelle Länge des Arrays ist.

Exemple :

var myarray = [0, 1, 2, 3],
    myarrayLength = myarray.length; // myarrayLength is set to 4

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