Keresés

Új hozzászólás Aktív témák

  • dqdb

    nagyúr

    válasz tzimash #5649 üzenetére

    var eredmeny=[];

    Előre azt mondtad, hogy az eredmény 12 elemű tömb lesz, de nem írtál bele annyi elemet, így a maradék undefined értéket vett fel. A new Array() helyett inkább a sokkal tömörebb [] szintaktikát használd.

    for(i=0;i<12;i++)
    {
    document.getElementById("tomb").innerHTML = tomb;
    }

    Itt a for ciklusnak semmi értelme sincsen.

    Szűrésre és egyéb tömbbel kapcsolatos műveletekre érdemes használni a JS filter/reduce/map feature-jeit, ha lehetőséged van rá, mert sokkal tömörebb és átláthatóbb kódot eredményez:

    var eredmeny = tomb.filter(function(e) {
    return e % 3 === 0;
    });

    Csak akkor használd a == és != operátorokat, ha szükséges a konverzió, minden egyéb esetben a === és !== operátorokat használd.

    Legyél konzekvens a központozásban, tedd ki mindig a space-eket az operátorok elé és mögé, valamint a sorok elejére a megfelelő behúzást.

    for(n=0;n<12;n++)
    if(tomb[n]%3==0)
    {
    eredmeny[j]=tomb[n];
    j++;
    }
    document.getElementById("three").innerHTML = eredmeny;
    }

    És kerüld az ilyen eseteket, mert első ránézésre azt hinné az ember, hogy az innerHTML módosítása is a for cikluson belül történik, ezért tedd ki a kapcsos zárójeleket:

    for (n=0; n < 12; n++)
    {
    if (tomb[n] % 3 === 0)
    {
    eredmeny[j] = tomb[n];
    j++;
    }
    }

    document.getElementById("three").innerHTML = eredmeny;

    Vagy a JavaScript szokások szerint írva:

    for (n=0; n < 12; n++) {
    if (tomb[n] % 3 === 0) {
    eredmeny[j] = tomb[n];
    j++;
    }
    }

    document.getElementById("three").innerHTML = eredmeny;

Új hozzászólás Aktív témák

Hirdetés