[JavaScript] print_r für JavaScript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] print_r für JavaScript

    Hi zusammen,

    gibt es sowas wie diesen Befehl auch für Javascript um ne Übersicht von Objekten oder Arrays zu bekommen?

    Gruß
    Heinzelmännchen

  • #2
    afaik nein, musst dir wohl oder über selbst sowas basteln

    ist aber ja nur eine kleine rekursive funktion
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hmm,

      schade eigentlich. JS ist nicht so mein Ding. Hat die nicht schon einer gebaut?

      Kommentar


      • #4
        worum geht es dir eigentlich, vielleicht kann man JS umgehen

        Kommentar


        • #5
          Es ist ein DIV Problem. Sprich ich brauche für die Anordnung dieses DIVS die Höhe vom selben. Daher dauert es immer lange, bis man die richtige Eigenschaft gefunden hat.

          Das würde mit solch einer Funktion natürlich schön viel einfacher sein. Doch der Zeitaufwand ist momentan zu umfangreich für mich um diese Funktion zu realisieren.

          Habe im übrigen docment.getElementById( _iId ).offsetHeight genommen.

          Kommentar


          • #6
            Code:
            <script type="text/javascript">
            var testarray1 = new Array(1, 2, 3, 5, 8);
            var testarray2 = new Array(testarray1, 7);
            var testarray = new Array('Hallo', 5, testarray2, 7, testarray1);
            
            function padding(laenge) {
              result = '';
              for (i = 0; i < laenge; i++)
                result = result + '___';
              return result;
            }
            
            function print_r(das_array, ebene) {
              var result = '';  
              for (var wert in das_array)
                if (typeof das_array[wert] == "object")
                  result = result + ' ' + padding(ebene) + wert + "\n" + print_r(das_array[wert], ebene + 1);
                else
                  result = result + ' ' + padding(ebene) + wert + ' = ' + das_array[wert] + "\n";
            
              return result;
            }
            
            alert(print_r(testarray, 0));
            </script>
            eben schnell hingeschmiert

            die funktion padding hab ich drin, weil mir auf die schnelle nciht eingefallen ist, wie ich string padding mit javascrip mache
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Hmm,

              für Arrays echt eine super Sache. Doch leider für document.getElementById( _iId ) nicht zu gebrauchen. Auch document.getElementById( _iId ).style führte dabei zu keinem Ergebnis.

              Den Ansatz habe ich aber verstanden und werde bei gelegenheit mal ein wenig daran 'rumdoktorn'.

              Kommentar


              • #8
                Original geschrieben von Heinzelmännchen
                Doch leider für document.getElementById( _iId ) nicht zu gebrauchen.
                was willst du denn an der stelle auch damit?
                getElementById liefert dir entweder eine referenz auf das element zurück, oder false, wenn es kein solches gibt. mehr gibt es an der stelle nicht auszuwerten.

                Auch document.getElementById( _iId ).style führte dabei zu keinem Ergebnis.
                zu welchem hätte es denn deiner meinung nach führen sollen ...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ist doch aber eigentlich Uninteressant ob getElementById() nur ne Referenz ist. Dann sollte eben die Referenz von dem Element ausgegeben werden.

                  Bei getElementById().style hätte ich mir das so wie bei print_r (von PHP) vorgestellt:

                  Code:
                  style
                   |- display = none
                   |- top     = 10
                   |- left    = 10
                   |- etc.
                  Eben die ganzen Eigenschaften von Style des Elementes.

                  Kommentar


                  • #10
                    Original geschrieben von Heinzelmännchen
                    Ist doch aber eigentlich Uninteressant ob getElementById() nur ne Referenz ist. Dann sollte eben die Referenz von dem Element ausgegeben werden.
                    und wie gibt man deiner meinung nach eine referenz aus ...?

                    Bei getElementById().style hätte ich mir das so wie bei print_r (von PHP) vorgestellt:

                    Code:
                    style
                     |- display = none
                     |- top     = 10
                     |- left    = 10
                     |- etc.
                    Eben die ganzen Eigenschaften von Style des Elementes.
                    das wäre ja nur dann möglich, wenn du diese werte vorher per javascript gesetzt, oder direkt per style-attribut am element selber formatiert hättest.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Zugegeben, über die Referenz und Ausgabe dieser habe ich mir wirklich noch nicht so viele gedanken gemacht.

                      Mit Style sollte schon vorher schon am Element gesetzt sein, bzw. sind nicht die Defaultwerte automatisch gesetzt?

                      Kommentar


                      • #12
                        Original geschrieben von Heinzelmännchen
                        bzw. sind nicht die Defaultwerte automatisch gesetzt?
                        gesetzt schon, aber vermutlich nicht über das style-objekt auslesbar - das dürfte dir nur "undefined" zurückliefern.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Code:
                          function init() {
                              var arra = new Array("So long",'s',42,42.13,"Hello World");
                              var assoc = {
                                  "val"  : "New",
                                  "number" : 8,
                                  "theting" : arra
                              };
                             
                              alert(dump(assoc));
                          }
                          window.onload=init;


                          sieht dann so aus:

                          Code:
                          'val' => "New"
                          'number' => "8"
                          'theting' ...
                             '0' => "So long"
                             '1' => "s"
                             '2' => "42"
                             '3' => "42.13"
                             '4' => "Hello World"

                          Kommentar


                          • #14
                            Das Thema ist 5 Jahre alt...
                            Sinn?

                            Kommentar

                            Lädt...
                            X