tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
6669
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Dec 2001
    Ort
    Apelnstedt (Niedersachsen)
    Beiträge
    149
    Hi,

    ich brauche in JavaScript ein mehrdimensionales Array in der Form

    ArrayName(100,10,10,20,10,20)

    Da ich bei JavaScript dies so leider nicht deklarieren kann, da JS ja so etwas
    nicht kennt, habe ich mir eine Schleife gebaut:

    PHP-Code:

    var arrayMarke = new Array(100);
    for(
    i=0i<arrayMarke.length;i++){
        
    arrayMarke[i] = new Array(10);
            for(
    k=0k<arrayMarke[i].length;k++){
                
    arrayMarke[i][k] = new Array(10);
                    for(
    l=0l<arrayMarke[i][k].length;l++){
                        
    arrayMarke[i][k][l] = new Array(20);
                        for(
    m=0m<arrayMarke[i][k][l].length;m++){
                            
    arrayMarke[i][k][l][m] = new Array(10);
                            for(
    n=0n<arrayMarke[i][k][l][m].length;n++){
                                
    arrayMarke[i][k][l][m][n] = new Array(20);
                            }
                        }
                    }
            }

    Allerdings dauert das initalisieren des Arrays nun seeeehr lange und des
    kann sein das der Browser nicht mehr reagiert.
    Erst wenn ich die Dimensionen runter setze es.

    Habe ich bei der Schleife irgendeinen Fehler?
    Gibt es eine bessere Alternative?
     
    Gruß

    Tex

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Mmmh...
    nen Fehler ist da nicht unbedingt zu sehen....das sind halt 2Millionen Durchläufe, dafür braucht Javascript schon etwas Zeit
    Kannst du etwas näher ausführen, was du mit den Arrays vorhast... vielleicht gibt es ja eine andere Möglichkeit, dein Vorhaben zu bewerkstelligen
     

  3. #3
    Registriert seit
    Apr 2002
    Ort
    Ingolstadt
    Beiträge
    2.940
    Sind es nicht eher 40 Millionen durchläufe ? Ich behaupte mal das so ein Array selbst in C nicht wirklich schnell via Schleife aufgebaut werden kann... Da muss es eine einfachere Lösung geben...
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    ...Nö,sollten nur 2Mille sein,....beim letzten Array wird ja nix mehr durchlaufen ....wieauchimmer, zuviele davon
     

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Apelnstedt (Niedersachsen)
    Beiträge
    149
    Ich versuche mal es genauer zu erklären wofür ich es brauche...

    Also ich habe eine Artikeldatenbank. Während ich die Artikel per php
    aus der Datenbank hole fülle ich die einzelnen Arrays.
    z.b.
    Erste Dimension - Artikelname
    Zweite Dimension - Artikelfarbe
    Dritte Dimension - Artikelgrösse
    usw....

    Auf der Seite werden dann mehrere Selectboxen angezeigt, wobei die erste
    mit den Artikelnamen belegt ist.
    Auf onChange wird die zweite Box mit den Farben zum gewählten Artikelnamen gefüllt, dann die nächste und so weiter.

    Und ? habt ihr da eine Idee?


    Gruß

    Tex
     
    Gruß

    Tex

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich glaub, da wären assoziative Arrays besser angebracht....
    da du die Arrays ja sowieso mit Werten füttern musst, kannst die sie doch gleich fertig in die Seite schreiben, die Schleife macht da eigentlich keinen Sinn....
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    artikel=new Array();
     
    artikel['shirt']            =new Array();
    artikel['shirt']['farbe']       =new Array('rot','weiss','blau');
    artikel['shirt']['groesse']     =new Array('s','m','l','xxl');
     
    artikel['pudelmuetz']       =new Array();
    artikel['pudelmuetz']['farbe']  =new Array('gelb','grau','beige');
    artikel['pudelmuetz']['groesse']    =new Array(4,5,6);
    ...usw.
    Geändert von Sven Mintel (17.11.03 um 03:10 Uhr)
     

  7. #7
    Registriert seit
    Dec 2001
    Ort
    Apelnstedt (Niedersachsen)
    Beiträge
    149
    moin,

    so ich habe es gelöst.
    Danke für eure Hilfe.



    @fatalus
    leider kann ich es so nicht machen.

    PS:Wann schläfst du?




    Gruß Tex
     
    Gruß

    Tex

  8. #8
    Registriert seit
    Apr 2002
    Ort
    Ingolstadt
    Beiträge
    2.940
    Original geschrieben von Texaner

    @fatalus
    Wann schläfst du?
    Fatalus schäft wahrscheinlich gar nicht... is mir auch schon aufgefallen. Da denkt man um 4:30 Uhr man wäre alleine und hätte es hier schön gemütlich am board und wer postet dann genau 1 Minute eher in einen Thread? Genau....
     

  9. #9
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Hätt ich gewusst, dass hier tagsüber solch lecker OT entsteht; wär ich früher aufgestanden
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 25.12.08, 07:07
  2. mehrdimensionales array
    Von Nadscha im Forum PHP
    Antworten: 12
    Letzter Beitrag: 17.07.07, 17:13
  3. Antworten: 5
    Letzter Beitrag: 30.04.07, 15:03
  4. mehrdimensionales Array
    Von TinaX im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.12.04, 16:40
  5. Mehrdimensionales Array ...
    Von LadySunshine im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 23.06.04, 11:28