it-swarm.com.de

Wie hängt man etwas an ein Array an?

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

2895
interstar

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.

3662
jdecuyper

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

973
MK_Dev

Ein schnelles Benchmarking (jeder Test = 500.000 angefügte Elemente und die Ergebnisse sind Durchschnittswerte mehrerer Durchläufe) zeigten Folgendes:

Firefox 3.6 (Mac):

  • Kleine Arrays:arr[arr.length] = b ist schneller (300ms vs. 800ms)
  • Große Arrays:arr.Push(b) ist schneller (500 ms vs. 900 ms)

Safari 5.0 (Mac):

  • Kleine Arrays:arr[arr.length] = b ist schneller (90ms vs. 115ms)
  • Große Arrays:arr[arr.length] = b ist schneller (160ms vs. 185ms)

Google Chrome 6.0 (Mac):

  • Kleine Arrays: Kein signifikanter Unterschied (und Chrome ist SCHNELL! Nur ~ 38ms !!)
  • Große Arrays: Kein signifikanter Unterschied (160ms)

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;
    }
}
385
Jens Roland

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']
272
Omnimike

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.

70
Fizer Khan

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']
38
rjmunro

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.

Babel REPL Beispiel

37
CodingIntrigue

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

37
Mαzen

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.

30
Zhenyang Hua

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');
29
Pawan Singh

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"]
23
Inconnu

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
23
Maarten Peels

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)

16
yoel halb

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.

15

Lassen Sie die Array-Längeneigenschaft die Arbeit erledigen:

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
10
hawkeye126

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

9
Karl

Sie möchten nur ein Snippet hinzufügen, um ein Element zerstörungsfrei hinzuzufügen.

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

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' ]
6

Hängen Sie einen Wert an ein Array an

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]
6
Lior Elrom

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);
6
JmLavoier

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] 

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
4
Srikrushna Pal

Sie .Push () diesen Wert in. Beispiel: array.Push (value);

4
Jack

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);
4

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.

2
Alireza

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"]

Ein einzelnes Element anhängen

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')

Mehrere Elemente anhängen

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

1
Flavio Copes

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';

0
Aditya

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);

0
Harunur Rashid

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]);
}
0
Ir Calif