Wie füge ich ein Objekt (beispielsweise eine Zeichenfolge oder eine Zahl) an ein Array in JavaScript an?
Verwenden Sie die Funktion Push()
, um an ein Array anzuhängen:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.Push("Hola");
console.log(arr);
Wird drucken
["Hi", "Hello", "Bonjour", "Hola"]
Sie können die Funktion Push()
verwenden, um in einem einzigen Aufruf mehr als einen Wert an ein Array anzuhängen:
// initialize array
var arr = [ "Hi", "Hello", "Bonjour", "Hola" ];
// append multiple values to the array
arr.Push("Salut", "Hey");
// display all values
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
Wird drucken
Hi
Hello
Bonjour
Hola
Salut
Hey
Update
Wenn Sie die Elemente eines Arrays zu einem anderen Array hinzufügen möchten, können Sie firstArray.concat(secondArray)
verwenden:
var arr = [
"Apple",
"banana",
"cherry"
];
arr = arr.concat([
"dragonfruit",
"elderberry",
"fig"
]);
console.log(arr);
Wird drucken
["Apple", "banana", "cherry", "dragonfruit", "elderberry", "fig"]
Update
Ein Zusatz zu dieser Antwort, wenn Sie einen Wert an den Anfang eines Arrays anhängen möchten, dh an den ersten Index. Dann können Sie unshift () für diesen Zweck verwenden.
var arr = [1, 2, 3]
arr.unshift(0)
console.log(arr)
Wird drucken:
[0, 1, 2, 3]
Es unterstützt auch das Anhängen mehrerer Werte wie die Push () -Methode.
Wenn Sie nur eine einzelne Variable anhängen, funktioniert Push()
einwandfrei. Wenn Sie ein anderes Array anfügen müssen, verwenden Sie concat()
:
var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];
var ar3 = ar1.concat(ar2);
alert(ar1);
alert(ar2);
alert(ar3);
Wird ausspucken:
"1,2,3"
"4,5,6"
"1,2,3,4,5,6"
Das concat wirkt sich nicht auf ar1
und ar2
aus, wenn es nicht erneut zugewiesen wird.
ar1 = ar1.concat(ar2);
alert(ar1);
Wird angezeigt:
"1,2,3,4,5,6"
Viele tolle Infos hier
Ein schnelles Benchmarking (jeder Test = 500.000 angefügte Elemente und die Ergebnisse sind Durchschnittswerte mehrerer Durchläufe) zeigten Folgendes:
Firefox 3.6 (Mac):
arr[arr.length] = b
ist schneller (300ms vs. 800ms)arr.Push(b)
ist schneller (500 ms vs. 900 ms)Safari 5.0 (Mac):
arr[arr.length] = b
ist schneller (90ms vs. 115ms)arr[arr.length] = b
ist schneller (160ms vs. 185ms)Google Chrome 6.0 (Mac):
Ich mag die arr.Push()
-Syntax besser, aber ich denke, mit der arr[arr.length]
-Version wäre ich besser, zumindest in roher Geschwindigkeit. Ich würde gerne die Ergebnisse eines IE -Laufens sehen.
Meine Benchmarking-Schleifen:
function arrpush_small() {
var arr1 = [];
for (a = 0; a < 100; a++)
{
arr1 = [];
for (i = 0; i < 5000; i++)
{
arr1.Push('elem' + i);
}
}
}
function arrlen_small() {
var arr2 = [];
for (b = 0; b < 100; b++)
{
arr2 = [];
for (j = 0; j < 5000; j++)
{
arr2[arr2.length] = 'elem' + j;
}
}
}
function arrpush_large() {
var arr1 = [];
for (i = 0; i < 500000; i++)
{
arr1.Push('elem' + i);
}
}
function arrlen_large() {
var arr2 = [];
for (j = 0; j < 500000; j++)
{
arr2[arr2.length] = 'elem' + j;
}
}
Ich denke, es ist erwähnenswert, dass Push mit mehreren Argumenten aufgerufen werden kann, die in der Reihenfolge an das Array angehängt werden. Zum Beispiel:
var arr = ['first'];
arr.Push('second', 'third');
console.log(arr); // ['first', 'second', 'third']
Infolgedessen können Sie Push.apply verwenden, um ein Array an ein anderes Array anzuhängen.
arr.Push.apply(arr, ['forth', 'fifth']);
console.log(arr); // ['first', 'second', 'third', 'forth', 'fifth']
Kommentiertes ES5 hat mehr Informationen darüber, was genau - Push und gelten tun.
2016 Update: Mit spread brauchen Sie diese apply
nicht mehr, wie:
arr.Push(...['fourth', 'fifth']);
console.log(arr) // ['first', 'second', 'third', 'fourth', 'fifth']
Mit der Funktion Push
und apply
können Sie zwei Arrays anhängen.
var array1 = [11, 32, 75];
var array2 = [99, 67, 34];
Array.prototype.Push.apply(array1, array2);
Es wird array2
an array1
anhängen. Jetzt enthält array1
[11, 32, 75, 99, 67, 34]
. Dieser Code ist viel einfacher als das Schreiben von for
-Schleifen, um alle Elemente des Arrays zu kopieren.
Wenn arr
ein Array und val
der Wert ist, den Sie hinzufügen möchten, verwenden Sie
arr.Push(val);
Z.B.
arr = ['a', 'b', 'c'];
arr.Push('d');
console.log(arr);
wird protokollieren:
['a', 'b', 'c', 'd']
Mit dem neuen ES6 spread-Operator wird das Verbinden zweier Arrays mit Push
noch einfacher:
var arr = [1, 2, 3, 4, 5];
var arr2 = [6, 7, 8, 9, 10];
arr.Push(...arr2);
console.log(arr); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Dadurch wird der Inhalt von arr2
am Ende von arr
hinzugefügt.
Verwenden Sie concat
:
a = [1, 2, 3];
b = [3, 4, 5];
a = a.concat(b);
a
enthält jetzt alle Elemente, [1, 2, 3, 3, 4, 5]
.
Referenz: https://developer.mozilla.org/de/JavaScript/Reference/Global_Objects/Array/concat
Javascript mit ECMAScript 5 Standard, das jetzt von den meisten Browsern unterstützt wird, können Sie mit apply()
array1
an array2
anhängen.
var array1 = [3, 4, 5];
var array2 = [1, 2];
Array.prototype.Push.apply(array2, array1);
console.log(array2); // [1, 2, 3, 4, 5]
Javascript mit ECMAScript 6 standard, das von Chrome und FF und IE Edge unterstützt wird, können Sie den Operator spread
verwenden:
"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];
array2.Push(...array1);
console.log(array2); // [1, 2, 3, 4, 5]
Der Operator spread
ersetzt array2.Push(...array1);
durch array2.Push(3, 4, 5);
, wenn der Browser an die Logik denkt.
Bonuspunkt
Wenn Sie eine andere -Variable erstellen möchten, um alle Elemente aus beiden Arrays zu speichern, können Sie Folgendes tun:
ES5 var combinedArray = array1.concat(array2);
ES6 const combinedArray = [...array1, ...array2]
Der Spread-Operator (...
) verteilt alle Elemente einer Sammlung.
Wenn Sie zwei Arrays anhängen möchten -
var a = ['a', 'b'];
var b = ['c', 'd'];
dann könntest du verwenden:
var c = a.concat(b);
Wenn Sie Datensatz g
zu Array (var a=[]
) hinzufügen möchten, können Sie Folgendes verwenden:
a.Push('g');
Es gibt mehrere Möglichkeiten, ein Array in JavaScript anzuhängen:
1) Die Push()
-Methode fügt ein oder mehrere Elemente am Ende eines Arrays hinzu und gibt die neue Länge des Arrays zurück.
var a = [1, 2, 3];
a.Push(4, 5);
console.log(a);
Ausgabe:
[1, 2, 3, 4, 5]
2) Die unshift()
-Methode fügt ein oder mehrere Elemente am Anfang eines Arrays hinzu und gibt die neue Länge des Arrays zurück:
var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a);
Ausgabe:
[4, 5, 1, 2, 3]
3) Die concat()
-Methode wird verwendet, um zwei oder mehr Arrays zusammenzuführen. Diese Methode ändert sich nicht die vorhandenen Arrays, gibt stattdessen ein neues Array zurück.
var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);
Ausgabe:
[ "a", "b", "c", "d", "e", "f" ]
4) Sie können die .length
-Eigenschaft des Arrays verwenden, um ein Element am Ende des Arrays hinzuzufügen:
var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar );
Ausgabe:
["one", "two", "three", "four"]
5) Die splice()
-Methode ändert den Inhalt eines Arrays, indem vorhandene Elemente entfernt und/oder neue Elemente hinzugefügt werden:
var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);
Ausgabe:
["angel", "clown", "mandarin", "surgeon","nemo"]
6) Sie können einem Array auch ein neues Element hinzufügen, indem Sie einfach einen neuen Index angeben und einen Wert zuweisen:
var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);
Ausgabe:
["one", "two","three","four"]
Die Push()
-Methode fügt neue Elemente am Ende eines Arrays hinzu und gibt die neue Länge zurück. Beispiel:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.Push("Kiwi");
// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi
Die genaue Antwort auf Ihre Frage wurde bereits beantwortet. Sehen Sie sich aber noch andere Möglichkeiten an, um einem Array Elemente hinzuzufügen.
Die unshift()
-Methode fügt neue Elemente am Anfang eines Arrays hinzu und gibt die neue Länge zurück. Beispiel:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");
// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango
Und schließlich wird die concat()
-Methode verwendet, um zwei oder mehr Arrays zu verbinden. Beispiel:
var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);
// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon
Wenn Sie den höchsten Index kennen (beispielsweise in einer Variablen "i" gespeichert), können Sie dies tun
myArray[i + 1] = someValue;
Wenn Sie jedoch nicht wissen, können Sie entweder verwenden
myArray.Push(someValue);
als andere Antworten vorgeschlagen, oder Sie können verwenden
myArray[myArray.length] = someValue;
Beachten Sie, dass das Array auf Null basiert, so dass .length den höchsten Index plus Eins zurückgibt.
Beachten Sie auch, dass Sie nicht in der richtigen Reihenfolge hinzufügen müssen und tatsächlich Werte überspringen können, wie in
myArray[myArray.length + 1000] = someValue;
In diesem Fall haben die Werte dazwischen den Wert undefined.
Es empfiehlt sich daher, beim Durchlaufen eines JavaScript-Codes zu überprüfen, ob an diesem Punkt tatsächlich ein Wert vorhanden ist.
Dies kann durch Folgendes geschehen:
if(myArray[i] === "undefined"){ continue; }
wenn Sie sicher sind, dass Sie keine Nullen im Array haben, können Sie Folgendes tun:
if(!myArray[i]){ continue; }
Stellen Sie in diesem Fall natürlich sicher, dass Sie myArray [i] nicht als Bedingung verwenden (wie einige Leute über das Internet vorschlagen, basierend auf dem Ende, dass, sobald ich größer als der höchste Index ist, es undefiniert zurückgibt, was ausgewertet wird falsch)
Jetzt können Sie die ES6-Syntax nutzen und tun einfach Folgendes:
let array = [1, 2];
console.log([...array, 3]);
das ursprüngliche Array bleibt unveränderlich.
myarray[myarray.length] = 'new element value added to the end of the array';
myarray.length gibt die Anzahl der Strings im Array zurück JS basiert auf Null . Der nächste Elementschlüssel des Arrays ist die aktuelle Länge des Arrays.
var myarray = [0, 1, 2, 3],
myarrayLength = myarray.length; //myarrayLength is set to 4
concat()
kann natürlich auch mit zweidimensionalen Arrays verwendet werden. Keine Schleife erforderlich.
var a = [ [1, 2], [3,4]];
var b = [ ["a", "b"], ["c", "d"]];
b = b.concat (a);
alarm (b [2] [1]); // Ergebnis 2
Sie möchten nur ein Snippet hinzufügen, um ein Element zerstörungsfrei hinzuzufügen.
var newArr = oldArr.concat([newEl]);
Sie können es mit dem neuen Javascript Es 6-Feature tun:
// initialize array
var arr = [
"Hi",
"Hello",
"Bangladesh"
];
// append new value to the array
arr= [...arr , "Feni"];
// or you can put a variable value
var testValue = "Cool";
arr = [...arr , testValue ];
console.log(arr);
// final output [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]
Da Array.prototype.Push ein oder mehrere Elemente am Ende eines Arrays hinzufügt und die neue Länge des Arrays zurückgibt, möchten wir manchmal nur das neue aktuelle Array erhalten kann so etwas tun:
const arr = [1, 2, 3];
const val = 4;
arr.concat([val]); // [1, 2, 3, 4]
Oder nur:
[...arr, val] // [1, 2, 3, 4]
Wenn Sie das ES6 verwenden, können Sie den Operator spread verwenden.
var arr = [
"Apple",
"banana",
"cherry"
];
var arr2 = [
"dragonfruit",
"elderberry",
"fig"
];
arr.Push(...arr2);
wenn Sie 2 Arrays ohne das Duplikat kombinieren möchten, können Sie den folgenden Code verwenden
array_merge = function (arr1, arr2) {
return arr1.concat(arr2.filter(function(item){
return arr1.indexOf(item) < 0;
}))
}
Verwendungszweck:
array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)
Ausgabe: [1,2,3,4,5]
Einzelne Elemente anhängen
//Append to the end
arrName.Push('newName1');
//Prepend to the start
arrName.unshift('newName1');
//Insert at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element
// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';
Mehrere Elemente anhängen
//Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where insert starts,
//0: number of element to remove,
//newElemenet1,2,3: new elements
Array anhängen
//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array
Sie .Push () diesen Wert in. Beispiel: array.Push (value);
Wenn Sie einen einzelnen Wert an ein Array anhängen möchten, verwenden Sie einfach die Push-Methode. Es wird ein neues Element am Ende des Arrays hinzugefügt.
Wenn Sie jedoch mehrere Elemente hinzufügen möchten, speichern Sie die Elemente in einem neuen Array und konkatisieren Sie das zweite Array mit dem ersten Array. So oder so.
arr=['a','b','c'];
arr.Push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);
Wir haben keine Append-Funktion für Array in Javascript, aber wir haben Push und unshift , stellen Sie sich das Array unten vor:
var arr = [1, 2, 3, 4, 5];
und wir möchten einen Wert an dieses Array anhängen, wir können es tun, arr.Push (6) und es wird 6 am Ende des Arrays hinzugefügt:
arr.Push(6); // return [1, 2, 3, 4, 5, 6];
auch wir können unshift verwenden, schauen wir uns an, wie wir das anwenden können:
arr.unshift(0); //return [0, 1, 2, 3, 4, 5];
Sie sind Hauptfunktionen zum Hinzufügen oder Anhängen neuer Werte an die Arrays.
Sie können die Push-Methode verwenden.
Array.prototype.append = function(destArray){
destArray = destArray || [];
this.Push.call(this,...destArray);
return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola"))//[1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]
Um ein einzelnes Element an ein Array anzuhängen, verwenden Sie die Push()
-Methode, die vom Array-Objekt bereitgestellt wird:
const fruits = ['banana', 'pear', 'Apple']
fruits.Push('mango')
console.log(fruits)
Push()
mutiert das ursprüngliche Array.
Verwenden Sie zum Erstellen eines neuen Arrays stattdessen die concat()
Array-Methode:
const fruits = ['banana', 'pear', 'Apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
Beachten Sie, dass concat()
dem Array eigentlich kein Element hinzufügt, sondern ein neues Array erstellt, das Sie einer anderen Variablen zuweisen oder dem ursprünglichen Array neu zuweisen können (indem Sie es als let
deklarieren, da Sie keine const
erneut zuweisen können):
const fruits = ['banana', 'pear', 'Apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'Apple']
fruits = fruits.concat('mango')
Um mehrere Elemente an ein Array anzuhängen, können Sie Push()
verwenden, indem Sie es mit mehreren Argumenten aufrufen:
const fruits = ['banana', 'pear', 'Apple']
fruits.Push('mango', 'melon', 'avocado')
console.log(fruits)
Sie können auch die Methode concat()
verwenden, die Sie zuvor gesehen haben, und eine durch Kommas getrennte Liste von Elementen übergeben:
const fruits = ['banana', 'pear', 'Apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)
oder ein Array:
const fruits = ['banana', 'pear', 'Apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)
Denken Sie daran, dass diese Methode, wie zuvor beschrieben, das ursprüngliche Array nicht verändert, aber ein neues Array zurückgibt.
Ursprünglich geschrieben am
Sie können Push () verwenden, wenn Sie Werte hinzufügen möchten, z. arr.Push("Test1", "Test2");
Wenn Sie ein Array haben, können Sie concat () verwenden, z. Array1.concat(Array2)
Wenn Sie nur ein Element hinzufügen möchten, können Sie auch length menthod ausprobieren, z. array[aray.length] = 'test';
Push()
fügt ein neues Element am Ende eines Arrays hinzu.pop()
entfernt ein Element vom Ende eines Arrays.
Um ein Objekt (wie eine Zeichenfolge oder eine Zahl) an ein Array anzuhängen, verwenden Sie -array.Push(toAppend);
Elemente an ein Array anhängen
let fruits =["orange","banana","Apple","lemon"]; /*array declaration*/
fruits.Push("avacado"); /* Adding an element to the array*/
/*displaying elements of the array*/
for(var i=0; i < fruits.length; i++){
console.log(fruits[i]);
}