Wie füge ich ein Objekt (z. B. eine Zeichenfolge oder eine Zahl) an ein Array in JavaScript an?
Antworten
Zu viele Anzeigen?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 ).
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' ]
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