Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Wyświetlanie w pętli wartości obiektu / podobiektu
Sztef89
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


mam problem z napisaniem funkcji która będzie wyświetlała wszystkie dane znajdujące się w obiekcie, dane przekazuje do skryptu w formie JSON, a skrypt automatycznie zamienia je na obiekty (funkcja z jQuery).

Przykładowe dane jakie wysyłam:
  1. {"gatunek":{"6":"dramat","13":"komedia"},"kraj":{"53":"USA"}}


jakby te dane były w formie tablicy to wystarczyłoby funkcją "for" lub "for in" wyświetlić ale chciałbym pominąć zamienianie obiektów na tablice.
Chciałbym z tych danych wyciągnąć, np. dla obiektu gatunek odpowiednio id i wartość.

oto wyimaginowana funkcja która by była odpowiedzią na ten problem:

  1. foreach( dane.gatunek as a:b ){
  2. alert( a+' - '+b );
  3. }


--EDIT--

Jak zrobię tak jak poniżej to wyświetli kolejno "dramat" a potem "komedia", ale jak odczytać jeszcze ID ?

  1. for(i in dane.gatunek){
  2. alert(dane.gatunek[i]);
  3. }



--EDIT2--

Haha udało mi się samemu rozwiązać problem, ale jakoś przez 2h nic nie mogłem sam wymyślić zanim napisałem ten temat (IMG:style_emoticons/default/smile.gif)
Petla for.. in.. sama pobiera reprezentującą zmienną i wartość do niej więc w przypadku powyższego przykładu pod zmienną "i" jest odpowiednia wartość "6" i "13".
I po problemie, podobają mi się te obiekty w JS (IMG:style_emoticons/default/smile.gif)

Ten post edytował Sztef89 24.03.2012, 22:20:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Nie zapomnij o hasOwnProperty( https://developer.mozilla.org/en/JavaScript.../HasOwnProperty ). Warto dodać odpowiedni warunek, żeby później nie mieć problemów.
Go to the top of the page
+Quote Post
Sztef89
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 6.12.2010

Ostrzeżenie: (0%)
-----


Cytat(kamil4u @ 24.03.2012, 22:59:02 ) *
Nie zapomnij o hasOwnProperty( https://developer.mozilla.org/en/JavaScript.../HasOwnProperty ). Warto dodać odpowiedni warunek, żeby później nie mieć problemów.


to takie zabezpieczenie przed niepoprawnymi danymi ?

Własnie zastanawiałem się nad tym... gdy danych o gatunku nie będzie i co wtedy zrobi pętla for in... błąd ? hymm

Ten post edytował Sztef89 24.03.2012, 23:35:31
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Cytat
to takie zabezpieczenie przed niepoprawnymi danymi ?

Poczytaj to lepiej zapamiętasz (IMG:style_emoticons/default/smile.gif) Generalnie to daje pewność przy pętli for in, że właściwość "została wpisana ręcznie", a nie dodana przez sam język. Poczytaj, popatrz na przykłady a zrozumiesz lepiej.

Cytat
Własnie zastanawiałem się nad tym... gdy danych o gatunku nie będzie i co wtedy zrobi pętla for in... błąd ? hymm

Sprawdź sam i nam napisz. Samodzielność w tym fachu bardzo się przydaje, a i daje sporo satysfakcji, że "sam to zrobiłeś" (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 11:13