Weblap Hová jutunk?

JS tömb bejárása forEach().

JavaScript Arrays (Tömbök)

Tömb bejárása, a forEach() metódussal.

A forEach() metódus, egy függvényt hív meg, egy megadott tömb minden elemére.
A megadott rendezett vagy rendezetlen tömb, egészszámmal indexelt tömbelemeit veszi figyelembe.

                <p id="bemutato"></p>
<script>
var text = "";

var xtomb = new Array();
 
xtomb[0] = "alma";
xtomb[1] = "narancs";
xtomb[2] = 1122;
xtomb[3] = "cseresznye";
xtomb[4] = 3122;
xtomb[5] = "kakas";
xtomb[6] = 0.125;

   // Meghívunk egy függvényt, a tömb minden elemére.
      xtomb.forEach(tombFunction);

      document.getElementById("bemutato").innerHTML = text;
 
function tombFunction(adat, index) {
  text += "["+index + "] = " + adat + "<br>"; 
}

</script>






Programunk eredménye.


Rendezetlen index számoknál.

            <p id="bem2"></p>
<script>
var text2 = "";
     var xtomb = new Array();
xtomb[0] = "alma";
xtomb[11] = "narancs";
xtomb[221] = 1122;
xtomb[22] = "cseresznye";
xtomb[321] = 3122;
xtomb[7] = "kakas";
xtomb[1] = 0.125;
      xtomb.forEach(tomb2Function);
      document.getElementById("bem2").innerHTML = text2;
function tomb2Function(adat, index) {
  text2 += "["+index + "] = " + adat + "<br>"; 
}
</script>


Programunk eredménye:
Rendezetlen indexelésű tömbelemeket,
növekvő sorrendbe rendezi.


Szabálytalan index számoknál.

               <p id="bem3"></p>
<script>
var text3 = "";
    var szamok = new Array();
szamok[0.1] =0.1;
szamok[11] =1.112;
szamok[22] = 1122;
szamok[21] = -12;
szamok[32] = -22;
szamok[7.1] = -0.125;
szamok[1] = 0.125;
      szamok.forEach(szamFunction);
      document.getElementById("bem3").innerHTML = text3;
function szamFunction(adat, index) {
  text3 += "["+index + "] = " + adat + "<br>"; 
}
</script>

Programunk eredménye:
Szabálytalan indexelésű tömbelemeket,
nem veszi figyelembe.


Egészszámmal indexelteket figyelembe veszi,
és indexelésük szerint,
növekvő sorrendbe rendezi.




Vegyes indexelésű tömbnél.

               <p id="bem4"></p>
<script>
var text4 = "";
    var szamok = new Array();
szamok["tizedes"] = 0.1;
szamok[1] = 1.112;
szamok["huszonketto"] = 1122;
szamok[8] = -12;
szamok["harnicketto"] = -22;
szamok[4] = -0.125;
szamok["egy"] = 0.125;
          szamok.forEach(szam4Function);
document.getElementById("bem4").innerHTML = text4;

function szam4Function(adat, index) {
  text4 += "["+index + "] = " + adat + "<br>"; 
}
</script>

Programunk eredménye:
Vegyes indexelésű tömbnél.
Csak számozott indexelésű elemeket
veszi figyelembe,
és
indexelésük szerint,
növekvő sorrendbe rendezi.




Ismétlődő index számoknál.

               <p id="bem5"></p>
<script>
var text5 = "";
    var iszamok = new Array();
iszamok[0] = 0.1;
iszamok[1] = 1.2;
iszamok[1] = 0.2;
iszamok[2] = 12;
iszamok[3] = 22;
iszamok[2] = 18;
iszamok[0] = 0.5;
iszamok[3] = 25;
iszamok[2] = 0.6;
iszamok[1] = 2;
iszamok[0] = 55;

      iszamok.forEach(szam5Function);
      document.getElementById("bem5").innerHTML = text5;
function szam5Function(adat, index) {
  text5 += "["+index + "] = " + adat + "<br>"; 
}
</script>

Programunk eredménye:
Ismétlődő tömbelem-index számoknál.
Utolsónak megtaláltat veszi figyelembe,

és indexelésük szerint,
növekvő sorrendbe rendezi.





Egész számoknál.
Rendezés adatok értéke szerint.
Ismétlődő adatok, kiszűrésével.

Megjegyzés:
Tömböt, a const kulcsszóval is létrehozhatunk. Adatok vesszővel vannak elválasztva.
const egeszt = [1,2,2,12,22,18,12,22,6,1,18];

<table> <tr> <td>
  <p><b>Eredeti tömb.</b><br>  <span id="eredetitomb"> </span> </p>
</td> <td>
  <p><b>Ismédlődök kiszűrése után.<br> Elemek indexe és adatai, <br>
            növekvő sorrenben.</b><br>  <span id="tombrendezve"> </span>  </p>
</td> </tr> </table>

 <script>
      var egeszt = new Array();
egeszt[0] = 1;
egeszt[1] = 2;
egeszt[2] = 2;
egeszt[3] = 12;
egeszt[4] = 22;
egeszt[5] = 18;
egeszt[6] = 12;
egeszt[7] = 22;
egeszt[8] = 6;
egeszt[9] = 1;
egeszt[10] = 18;
          var egeszth=egeszt.length; // Tömbelem hossza.
   
// ----- Nem fontos.  Eredeti tömb bejárása és kiíratása. -------------- 
var text = "";     egeszt.forEach(egeszFunction);
                    document.getElementById("eredetitomb").innerHTML = text;
    function egeszFunction(adat, index) { text += "["+index + "] = " + adat + "<br>"; }
// --------- Vége az eredeti tömb bejárásának és kiíratásának. --------------

// -- Rendezés kezdete. -----------------------------------------
                 var Rxy = new Array();       // Rxy tömbbe, rendezés előkészítése.
                  for(i=0; i < egeszth; i++) { var adat=egeszt[i];   Rxy[adat]=adat; }
var tei=0;  // Tömbelem sorszámozó.
var rendezett = new Array();        Rxy.forEach(rxyFunction);
              function rxyFunction(adat, index) { rendezett[tei]=adat;  tei++; }
// -- Rendezés vége. ---------------------------------------------------

// -------- Rendezés eredményének, kiíratása. --------------
var rendezve = "";         rendezett.forEach(rendezettFunction);
                      document.getElementById("tombrendezve").innerHTML = rendezve;
      function rendezettFunction(adat, index) {
                    rendezve += "["+index+ "] = " + adat + "<br>";
        }
</script>



Programunk eredménye:
Ismétlödő tömbelem-index számoknál.
Utolsónak megtaláltat veszi figyelembe,

és indexelésük szerint,
növekvő sorrendbe rendezi.

Eredeti tömb.



Ismédlődök kiszűrése után.
Elemek indexe és adatai,
növekvő sorrenben.