2012-03-30 15 views

Antwort

6

Da ich das Objekt in der Mitte des Arrays hinzugefügt werden soll, habe ich mit dieser Lösung beendet:

var add_object = {"0": "e5"}; 
event_id.splice(n, 0, add_object); // n is declared and is the index where to add the object 
+0

Was ist mit dem Löschen eines Objekts, wo Wert = 'e5'? –

1
event_id.push({"something", "else"}); 

Versuchen .push(...)^

9

Verwendung Wenn Sie nur einen Wert an das Ende eines Arrays hinzugefügt werden sollen dann die push(newObj) Funktion am einfachsten ist, obwohl splice(...) auch funktionieren wird (nur ein bisschen schwieriger).

var event_id = [{"0":"e1"}, {"0":"e2"}, {"0":"e4"}]; 
event_id.push({"0":"e5"}); 
//event_id.splice(event_id.length, 0, {"0":"e5"}); // Same as above. 
//event_id[event_id.length] = {"0":"e5"}; // Also the same. 
event_id; // => [{"0":"e1"}, {"0":"e2"}, {"0":"e4"}, {"0":"e5"}]; 

Siehe die ausgezeichneten MDN documentation for the Array object für eine gute Referenz der Methoden und Eigenschaften auf Arrays.

[Bearbeiten] Um etwas in die Mitte des Arrays einfügen dann werden Sie auf jeden Fall wollen die splice(index, numToDelete, el1, el2, ..., eln) Methode verwenden, die sowohl das Löschen und Einfügen von beliebigen Elementen an einer beliebigen Position Griffe:

var a = ['a', 'b', 'e']; 
a.splice(2, // At index 2 (where the 'e' is), 
      0, // delete zero elements, 
     'c', // and insert the element 'c', 
     'd'); // and the element 'd'. 
a; // => ['a', 'b', 'c', 'd', 'e'] 
+0

Ich möchte das Objekt in der Mitte des Arrays hinzufügen. – user823527

+0

@ user823527: siehe meine aktualisierte Antwort. – maerics

0

Nun könnte man verwenden in der Regel:

event_id[event_id.length] = {"0":"e5"}; 

oder (die etwas langsamer)

Wenn Sie aber ein Element in die Mitte eines Arrays einfügen möchten und nicht immer am Ende, dann müssen wir uns etwas kreativeres einfallen lassen.

Hoffe, dass es hilft,

ise

Verwandte Themen