Enrico: Array in Tabellenform zusammengefasst ausgeben

Beitrag lesen

Hallo,

ich stecke gerade an einem programmiertechnischen Problem fest bzw. vielmehr an der Logik, wie ich folgendes Vorhaben mit Javascript am Elegantesten umsetzen kann:

Ich lese eine Textdatei in einen versteckten frame ein und erzeuge anschliessend ein Array aus den einzelnen Zeilen dieser Textdatei:

<iframe id="Rohdaten" src="txt/Eintraege.txt" frameborder="0"></iframe>

Rohdaten = Rohdaten.contentWindow.document.body.innerHTML;
     Rohdaten = Rohdaten.replace(/<[^>]*>/i, "");
     Rohdaten = Rohdaten.replace(/&quot;/i,  """);

var Einzelne_Eintraege = Rohdaten.split("\n");
     Anzahl_Eintraege       = Einzelne_Eintraege.length;

for (var i = 0; i < Anzahl_Eintraege; i++)
     {
        var Spalte = Einzelne_Eintraege[i].split("|");

Eintrag[i]             = new Array();
        Eintrag[i]["Name"]     = Spalte[0];
        Eintrag[i]["Datum"]    = Spalte[1];
        Eintrag[i]["Uhrzeit"]  = Spalte[2];
        Eintrag[i]["Inhalt"]   = Spalte[3];
        Eintrag[i]["eMail"]    = Spalte[4];
        Eintrag[i]["Homepage"] = Spalte[5];
     }

Das eben erzeugte Array "Eintrag" will ich nun formatiert in Tabellenform ausgegeben. Hierbei sollen jeweils 10 Array-Elemente, respektive der verbleibende Rest bis "Anzahl_Eintraege", in einer Tabelle zusammengefasst werden.

Und genau an dieser Umsetzung hänge ich, weil ich nicht weiß, wie ich dieses Zusammenfassen am Elegantesten umsetzen kann.

Dies ist mein derzeitiger Ansatz (Klassenzuweisungen zur Formatierung habe ich hier jetzt weggelassen):

var Tabelle    = "";
     var Zaehler    = 1;
     var Umschalter = 0;

for (var i = 0; i < Anzahl_Eintraege; i++)
     {
        if (Umschalter == 0)
        {
           if (i == 0)
           {
              Tabelle += '<table id="Seite_1">';
           }
           else
           {
              Tabelle += '<table id="Seite_' + i + '" style="display:none;">';
           }
        }

Tabelle += '<tr>'
                + '<td></td>';
                + '</tr>';
                + '<tr>';
                + '<td>' + Eintrag[i]["Inhalt"] + '</td>';
                + '</tr>';
                + '<tr>';
                + '<td></td>';
                + '</tr>';
                + '<tr>';
                + '<td>' + Eintrag[i]["Name"] + '<br>' + Eintrag[i]["Datum"] + '<br>' + Eintrag[i]["Uhrzeit"] + ' Uhr</td>';
                + '</tr>';

if (Umschalter == 0)
        {
           Tabelle   += '</table>';
           Umschalter = 1;
        }

Zaehler += 1;

if ((Zaehler == 10) || (i + 1 == Anzahl_Eintraege))
        {
           Umschalter = 0;
        }
     }

V.a. weiß ich nicht, wie ich bei der letzten if-Abfrage die oder-Prüfung gestalten soll, um die Variable "Umschalter" wieder auf 0 zu setzen, für den Fall, dass eben nicht mehr 10 Zeilen bis zum Erreichen der Anzah-Eintraege zur Verfügung stehen.

Ich hoffe, ihr versteht, was ich meine, und könnt mir helfen.

Vielen Dank und Gruß
Enrico