Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielowymiarowa tablica asocjacyjna
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
ciembor
Zrobiłem sobie taką tablicę:

Kod
var global_koszt = new Object();
global_koszt["najtansze"]["miesieczny"]["brutto"] = "";
global_koszt["najtansze"]["miesieczny"]["netto"] = "";
global_koszt["najtansze"]["roczny"]["brutto"] = "";
global_koszt["najtansze"]["roczny"]["netto"] = "";
global_koszt["wybrane"]["miesieczny"]["brutto"] = "";
global_koszt["wybrane"]["miesieczny"]["netto"] = "";
global_koszt["wybrane"]["roczny"]["brutto"] = "";
global_koszt["wybrane"]["roczny"]["netto"] = "";


i nie działa

Kod
global_koszt.najtansze is undefined


Jak można coś takiego zainicjalizować?
thek
No tak... Tworzysz obiekt, a działasz jak na tablicy. To dwa inne podejścia, bo w jednym stosujesz -> a w drugim []. a to dwa inne operatory dostępu. Lepiej zastanów więc które podejście stosujesz i dostosuj do tego.
flashdev
Zamień pierwszą linijkę na:
Kod
var global_koszt = [];


Edit:

Do tego wypadałoby dodać:
Kod
global_koszt["najtansze"] = [];
global_koszt["najtansze"]["miesieczny"] = [];
/// itd...
kamil4u
@thek: mylisz JS z PHP czy innym językiem. Tu wszystko jest obiektem smile.gif
Kod
<script>
var test = new Object();
test["test"] = new Object();
test["test"]["test"] = 'test';
alert( test["test"]["test"] );
alert( test.test.test );
</script>


Co do problemu to ~flashdev podał prawidłowe rozwiązanie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.