Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Tablica wielowymiarowa - jak sprawdzić, czy posiada podrzędne elementy?
Forum PHP.pl > Forum > Przedszkole
sweter
Witam,
mam taką tablicę:
[JAVASCRIPT] pobierz, plaintext
  1. elementy = new Array();
  2. elementy[2008] = new Array();
  3. elementy[2008][0] = new Array();
  4. elementy[2008][0]['dzien'] = 300;
  5. elementy[2008][0]['id'] = 1115;
  6. elementy[2008][0]['tytul'] = 'Zjadłem dwie kromki chleba z marmoladą';
  7.  
  8. elementy[2010] = new Array();
  9. elementy[2010][0] = new Array();
  10. elementy[2010][0]['dzien'] = 300;
  11. elementy[2010][0]['id'] = 1115;
  12. elementy[2010][0]['tytul'] = 'Zjadłem dwie kromki chleba z marmoladą';
[JAVASCRIPT] pobierz, plaintext

chciałem wykonać warunek w pętli:
[JAVASCRIPT] pobierz, plaintext
  1. for(q=2008; q<elementy.length; q++){
  2. if(elementy[2008].length>0){
  3. alert(q);
  4. }
  5. }
[JAVASCRIPT] pobierz, plaintext

Problemem jest taki, że najpierw wyświetla się 2008, ale później wszystko się zawiesza.
Jak to naprawić? Dodam, że nie chciałbym za bardzo modyfikować układu tablicy.
kamil4u
Możesz napisać co chcesz zrobić, co osiągnąć? Strzelam, że chodzi o:
Kod
for(q=2008; q<elementy.length; q++){
    if(elementy[q].length>0){
        alert(q);
    }
}
skowron-line
Cytat(kamil4u @ 4.01.2011, 15:09:40 ) *
Kod
for(q=2008; q<elementy.length; q++){
    if(elementy[q].length>0){
        alert(q);
    }
}

@kamil4u, a czy w tej sytuacji length nie pomierzy też stringów ? użyj typeof
kamil4u
Cytat
@kamil4u, a czy w tej sytuacji length nie pomierzy też stringów ?

Chyba nie. Dla podanego kodu dla
Kod
alert( elementy[2008].length )
wyświetli 1.
Inny przykład:
Kod
<script type="text/javascript">
var tab = [
[ [1],[2,2],[3,3,3] ],
[ [4,4,4,4],[5,5,5,5,5],[6,6,6,6,6,6] ],
[ [7,7,7,7,7,7,7],[8,8,8,8,8,8,8,8],[9,9,9,9,9,9,9,9,9] ],

]

alert(tab.length); //3

alert(tab[0].length);//3
alert(tab[2].length);//3

alert(tab[1][1].length);//5
alert(tab[2][0].length);//7
</script>


Chyba, że nie do końca o to chodziło, ale wtedy napisz 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.