Struppi: Geschwindigkeit optimieren!

Beitrag lesen

Aufbau sieht so aus:
average = new Array();
average['06008120'] = new Array();
average['06008120']['temp1'] = new Array();
average['06008120']['temp2'] = new Array();

Das sind übrigens keine Arrays, sondern Objekte.

Du solltest diese auch so deklarieren, damit du nicht den Fehler machst auf Eigenschaften zugreifen zu wollen die es hier nicht mehr gibt (z.b. length)

Also so:
average = new Object();
average['06008120'] = new Object();
average['06008120']['temp1'] = new Object();
average['06008120']['temp2'] = new Object();

Mit Hilfe dieses Arrays  erstelle ich dynamisch Selectboxeinträge. Leider braucht es bei den aktuellen 7500 Zeilen ca. 10 Sekunden, bis die Selectboxen fertig gefüllt sind.

Kann ich da noch was an Geschwindigkeit rausholen? Wenn ja, welche Tricks gibts dafür?

Keine Ahnung. Dauert das initialisieren der Objekte so lange oder wo ist der Flaschenhals?`

Evtl. kannst du etwas heraus holen wenn du mit richtigen Objekten arbeitest, also in deinem Falle in etwa so (mir ist der Aufbau nicht 100% klar):

function Average(nummer)
{
    this.temp1 = new Object();
    this.temp2 = new Object();
    this.nummer = nummer;
}
Average.prototype.setTest = function(nummer, wert1, wert2)
{
    this.temp1['test' + nummer] = wert1;
    this.temp2['test' + nummer] = typeof wert2 != 'undefined' ? wert2 : wert2;
}

average = new Average('06008120')
average.setTest(1, '-', '0')
average.setTest(2, '1sec')
average.setTest(3, '81.65')
average.setTest(4, '96.28')
average.setTest(5, '122.78')
average.setTest(6, '0')

Übrigens sind Eigenschaften mit dem Namen 'tmp1' oder 'test' nicht besonderlich  lesbar und es ist völlig unklar was die machen sollen. Du solltest ihnen Namen geben, die Aussagen was da passieren soll.

Struppi.