Jak mogę dodać obiekt do tablicy (w javascript lub jquery)? Na przykład, jaki jest problem z tym kodem?
function(){
var a = new array();
var b = new object();
a[0]=b;
}
Chciałbym użyć tego kodu do zapisania wielu obiektów w tablicy funkcji 1 i wywołać funkcję 2, aby użyć obiektu w tablicy.
- Jak mogę zapisać obiekt w tablicy?
- Jak mogę umieścić obiekt w tablicy i zapisać go w zmiennej?
javascript
arrays
object
naser
źródło
źródło
push
był już wielokrotnie sugerowany tutaj. Nie zanieczyszczaj tego wątku innąpush
sugestią.Odpowiedzi:
Umieść wszystko w tablicy za pomocą Array.push ().
Dodatkowe informacje na temat tablic
Dodaj więcej niż jeden element na raz
Dodaj elementy na początku tablicy
Dodaj zawartość jednej tablicy do drugiej
Utwórz nową tablicę z zawartości dwóch tablic
źródło
tutaj tablica lat ma wartości takie jak
kontynuuje się tak.
źródło
Przede wszystkim nie ma
object
lubarray
. SąObject
iArray
. Po drugie, możesz to zrobić:Teraz
a
będzie tablicą,b
której jedynym elementem będzie.źródło
Za pomocą
ES6
notacji możesz zrobić coś takiego:Do dołączania możesz użyć operatora rozkładania w następujący sposób:
źródło
new array()
inew object()
rzuci,ReferenceError
ponieważ nie istnieją.new Array()
ze względu na jego podatne na błędy zachowanie .Zamiast tego przypisz nową tablicę za pomocą
= [val1, val2, val_n]
. W przypadku obiektów użyj= {}
.concat
zamiastpush
.concat
zwraca nową tablicę, pozostawiając oryginalną tablicę nietkniętą.push
mutuje tablicę wywołującą, której należy unikać , zwłaszcza jeśli tablica jest zdefiniowana globalnie.Stosując te punkty i odpowiadając na dwa pytania, możesz zdefiniować funkcję taką jak ta:
Stosowanie:
źródło
freeze
) to tylko dodatkowy krok, aby zapobiec niezamierzonym mutacjom.Rozszerzenie odpowiedzi Gabi Purcaru o odpowiedź na numer 2.
źródło
źródło
obejct
to wyraźnie literówka. Ale zarównoobject
iarray
litery potrzeba.Możesz użyć krótkich rąk,
new Array
anew Object
są to[]
i{}
Możesz wcisnąć dane do tablicy za pomocą
.push
. Dodaje to do końca tablicy. lub możesz ustawić indeks, aby zawierał dane.źródło
Na alternatywną odpowiedź brzmi:
jeśli masz taką tablicę:
var contacts = [bob, mary];
i chcesz umieścić w tej tablicy kolejną tablicę, możesz to zrobić w następujący sposób:
Zadeklaruj konstruktor funkcji
uczyń obiekt z funkcji:
i dodaj obiekt do tablicy:
źródło
źródło
Sposób, w jaki stworzyłem obiekt do tworzenia obiektów z listą automatyczną:
źródło
Jeśli używasz swojego kodu jako takiego, napotykasz problem z zakresem. Musisz zadeklarować go poza funkcjami, jeśli planujesz używać go między nimi (lub jeśli wywołujesz, przekaż go jako parametr).
źródło