Fügen Sie einem vorhandenen Array in JavaScript einen neuen Wert hinzu [duplicate]

Lesezeit: 4 Minuten

Benutzer-Avatar
Andreas

In PHP würde ich so etwas tun:

$array = array();
$array[] = "value1";
$array[] = "value2";
$array[] = "value3";

Wie würde ich dasselbe in JavaScript tun?

  • jQuery ist keine Sprache; JavaScript ist.

    – mp

    3. Januar 2010 um 23:28 Uhr

  • i.stack.imgur.com/ssRUr.gif

    – Broxzier

    18. Juli 2013 um 8:09 Uhr

  • @ChrisB – für diejenigen, die sich fragen, ist Javascript die Sprache, die verwendet wird, um das glorreiche JQuery zu implementieren.

    – Dawor

    19. Februar 2015 um 11:38 Uhr

  • Über die Zuordnung von Adjektiven zu Substantiven darf nur ich entscheiden.

    – Bryan Grace

    30. April 2017 um 0:24 Uhr

  • Sie können eine Funktion für dynamische Lösungen verwenden: animationList[addkey()] Funktion addkey() { var t=ac; ac++; Konsole.log

    – Dazzafakt

    12. April 2019 um 13:53 Uhr


Benutzer-Avatar
David Helling

Dafür brauchst du kein jQuery. Verwenden Sie normales Javascript

var arr = new Array();
// or var arr = [];
arr.push('value1');
arr.push('value2');

Hinweis: In Javascript können Sie auch Objekte als Arrays verwenden, haben aber weiterhin Zugriff auf die Array-Prototypen. Dadurch verhält sich das Objekt wie ein Array:

var obj = new Object();
Array.prototype.push.call(obj, 'value');

erstellt ein Objekt, das wie folgt aussieht:

{
    0: 'value',
    length: 1
}

Sie können auf die Werte wie auf ein normales Array z. B. zugreifen obj[0].

  • Genau so wird das “jQuery”-Objekt zurückgegeben $() funktioniert

    – Russ Cam

    3. Januar 2010 um 23:34 Uhr

  • Nun, ich bin mir sicher, dass es ein Plugin gibt, mit dem Sie das mit jQuery machen können 😛

    – Ben Shelock

    3. Januar 2010 um 23:37 Uhr

  • Wie wäre es mit [] Anstatt von new Array() und {} Anstatt von new Object()

    – James

    3. Januar 2010 um 23:58 Uhr

  • @JP: klar, warum nicht. Ich versuche nur, in dem Beispiel so klar wie möglich zu sein.

    – David Hellsing

    4. Januar 2010 um 0:03 Uhr

  • @Justin: Eigentlich ist es etwas schneller: mir.aculo.us/2009/12/24/extreme-javascript-performance-video (ab Folie 21)

    – Will Vousden

    4. Januar 2010 um 1:30 Uhr


Benutzer-Avatar
Mike

Das hat nichts mit jQuery zu tun, sondern nur mit JavaScript im Allgemeinen.

So erstellen Sie ein Array in JavaScript:

var a = [];

Oder:

var a = ['value1', 'value2', 'value3'];

So hängen Sie Werte am Ende eines vorhandenen Arrays an:

a.push('value4');

Um ein neues Array zu erstellen, sollten Sie wirklich verwenden [] Anstatt von new Array() aus den folgenden Gründen:

  • new Array(1, 2) ist äquivalent zu [1, 2]aber new Array(1) ist nicht gleichwertig [1]. Letzteres liegt eher näher [undefined]da ein einzelnes ganzzahliges Argument für die Array Der Konstruktor gibt die gewünschte Array-Länge an.
  • Array, genau wie jede andere eingebaute JavaScript-Klasse, ist kein Schlüsselwort. Daher könnte jemand leicht definieren Array in Ihrem Code, um etwas anderes zu tun, als ein Array zu erstellen.

  • +1 für [] Anstatt von new Array().

    – BalusC

    3. Januar 2010 um 23:39 Uhr

Benutzer-Avatar
Nemisj

Array ist ein natives JavaScript-Objekt, warum versuchen Sie nicht einfach, die API davon zu verwenden? Wenn Sie die API allein kennen, sparen Sie Zeit, wenn Sie zu reinem JavaScript oder einem anderen Framework wechseln.

Es gibt eine Reihe verschiedener Möglichkeiten, also verwenden Sie diejenige, die am meisten auf Ihre Bedürfnisse abzielt.

Array mit Werten erstellen:

var array = ["value1", "value2", "value3"];

Werte am Ende hinzufügen

var array = [];
array.push("value1");
array.push("value2");
array.push("value3");

Werte am Anfang hinzufügen:

var array = [];
array.unshift("value1");
array.unshift("value2");
array.unshift("value3");

Werte an einem Index hinzufügen:

var array = [];
array[index] = "value1";

oder durch Spleißen

array.splice(index, 0, "value1", "value2", "value3");

Wählen Sie eine, die Sie brauchen.

  • Der mit Indizes funktioniert bei mir nicht. Ich verwende es in einer Kartenfunktion $(‘select[id^=”filter_”]’).map(function () { var name = $(this).prop(‘name’); filter[name] = $(dies).val();

    – Glücklicher Coder

    5. Dezember 2013 um 11:12 Uhr

Es gibt mehrere Möglichkeiten:

Instanziieren des Arrays:

var arr;

arr = new Array(); // empty array

// ---

arr = [];          // empty array

// ---

arr = new Array(3);
alert(arr.length);  // 3
alert(arr[0]); // undefined

// ---

arr = [3];
alert(arr.length);  // 1
alert(arr[0]); // 3

Auf das Array pushen:

arr = [3];     // arr == [3]
arr[1] = 4;    // arr == [3, 4]
arr[2] = 5;    // arr == [3, 4, 5]
arr[4] = 7;    // arr == [3, 4, 5, undefined, 7]

// ---

arr = [3];
arr.push(4);        // arr == [3, 4]
arr.push(5);        // arr == [3, 4, 5]
arr.push(6, 7, 8);  // arr == [3, 4, 5, 6, 7, 8]

Verwenden .push() ist der bessere Weg, ein Array zu erweitern, da Sie nicht wissen müssen, wie viele Elemente bereits vorhanden sind, und Sie viele Elemente in einem Funktionsaufruf hinzufügen können.

Du kannst den … benutzen .push() Methode (Standard-JavaScript)

z.B

var primates = new Array();
primates.push('monkey');
primates.push('chimp');

Benutzer-Avatar
Sitepor500.com.br

In der Tat müssen Sie Ihr Array initialisieren und direkt danach die Befehlszeile array.push() verwenden.

var array = new Array();
array.push("first value");
array.push("second value");

Benutzer-Avatar
Antony Hatchkins

array = ["value1", "value2", "value3"]

es ist weniger jquery als Javascript

  • das ist nicht Hinzufügen beliebige Werte in ein Array, das erstellt ein Array mit einigen Werten, die bereits darin enthalten sind.

    – Nickf

    3. Januar 2010 um 23:36 Uhr

  • Ich würde das nicht ablehnen, aber danke, dass Sie zumindest Ihre Meinung erklärt haben

    – Antony Hatchkins

    3. Januar 2010 um 23:55 Uhr

1310790cookie-checkFügen Sie einem vorhandenen Array in JavaScript einen neuen Wert hinzu [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy