Mam tablicę obiektów, które wygląda następująco:Dodanie obiektu do tablicy obiektów z splice
event_id=[{"0":"e1"},{"0","e2"},{"0","e4"}];
Jak mogę dodać element tej tablicy?
myślałem
event_id.splice(1,0,{"0":"e5"});
Dzięki.
Mam tablicę obiektów, które wygląda następująco:Dodanie obiektu do tablicy obiektów z splice
event_id=[{"0":"e1"},{"0","e2"},{"0","e4"}];
Jak mogę dodać element tej tablicy?
myślałem
event_id.splice(1,0,{"0":"e5"});
Dzięki.
Ponieważ chcę dodać obiekt w środku tablicy, skończyło się z tego rozwiązania:
var add_object = {"0": "e5"};
event_id.splice(n, 0, add_object); // n is declared and is the index where to add the object
co z usuwaniem obiektu, którego wartość = 'e5'? –
event_id.push({"something", "else"});
Spróbuj użyć .push(...)
^
Jeśli chcesz po prostu dodać wartość na końcu tablicy to funkcja push(newObj)
najłatwiej, choć splice(...)
będzie również działać (tylko nieco trudniejsze).
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"}];
Zobacz doskonałą MDN documentation for the Array
object dobrego odniesienia metod i właściwości dostępnych na tablicach.
[Edytuj] Aby wstawić coś do środkowej tablicy wtedy na pewno będziesz chciał użyć metody splice(index, numToDelete, el1, el2, ..., eln)
który obsługuje zarówno usuwanie i wstawianie dowolnych elementów w każdej pozycji:
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']
Chciałbym dodać obiekt w środku tablicy. – user823527
@ user823527: zobacz moją zaktualizowaną odpowiedź. – maerics
Cóż można zazwyczaj używać:
event_id[event_id.length] = {"0":"e5"};
lub (lekko wolniejsze)
event_id.push({"0":"e5"});
jeśli jednak chcesz wstawić element do środka tablicy, a nie zawsze na końcu, będziemy musieli wymyślić coś bardziej twórczego.
Nadzieję, że to pomaga,
ise
To już tutaj odpowiedział: http://stackoverflow.com/a/12189963/984780 –