Néhány alap utasítás, essünk túl rajtuk:
var arr = ["alma", "körte", "dinnye", "cseresznye", "barack"];
console.log("elemek száma: " + arr.length);
arr.push("banán"); // Hozzáad a végéhez egy elemet
arr.pop(); // elvesz egy elemet a végéről.
arr.unshift("narancs"); // az elejéhez ad hozzá eg elemet
arr.shift(); // az elejéből vesz el egy elemet
A tömb másolása:
var arr2 = arr // referencia másolás
Ez a művelet „csak” a tömb referenciáját másolja, vagyis mindkét változó címe ugyanarra a tömbre mutat. A valódi másolat készítéséhez a slice()
metódust használjuk.
var arrcopy = arr.slice();
Így az egész tömb másolódik, viszont paraméterben megadhatjuk a másolás kezdetét és végét. var arrcopy2 = arr.slice(1,3);
.
Na, de nézzünk érdekesebb dolgokat. a tömbünket bejárhatjuk egy forEach() metódus segítségével. A forEach végiglépked az elemeken és hogy mit csináljunk vele egy callback függvénnyel dönthetjük el.
arr.forEach(function(elem, index){
console.log("index: " + index + ", elem: " + elem);
})
// index: 0, elem: körte
// index: 1, elem: dinnye
// index: 2, elem: cseresznye
// index: 3, elem: barack
A filter() metódus, amely visszaad egy olyan tömböt, amelynek az elemei átmentek a callback függvény által megadott teszten.
var cbFilter = function(value, key) {
if (key > 2)
return true;
}
console.log(arr.filter(cbFilter));
a find
metódus azon első értékét adja vissza, amire a callback függvény teszten átmegy, hasonlóan működik a findIndex
, ami a megtalált elem indexét adja vissza.
var cbFindValue = function(elem) {
if (elem === "cseresznye")
return true;
};
console.log(arr.find(cbFindValue));
var cbFindIndex = function(value) {
if (value === "cseresznye")
return true;
}
console.log(arr.findIndex(cbFindIndex));
A map
metódus segítségével „átmappolhatjuk” a tömbünket, vagyis a tömb összes elemén végiglépked, és az értéken végrehajtja a callback függvényt, majd visszaadja az új tömböt.
var szamok = [1, 2, 3, 4, 5];
var cbMapNegyzet = function(value) {
return value * value;
};
var negyzet = szamok.map(cbMapNegyzet);
negyzet.forEach(function(e){
console.log(e);
})
Az entries
metódus egy iterátort ad vissza. Az iterátor segítségével végiglépkedhetünk a tömb elemein.
var szamok = [1, 2, 3, 4, 5];
var iterator = szamok.entries();
for (var e of iterator) {
console.log(e);
}
Az every
metódus szintén végiglépked a tömb elemein, majd mindegyiken végrehajt egy callback függvényt, egy tesztet. Ha az összes elem átment a teszten, akkor true-val, ha nem, akkor false-zal tér vissza.
var szamok = [1, 2, 3, 4, 5];
cbEvery = function(e) {
// return e < 2 && 4 > e // false
return e > 0 // true
};
console.log(szamok.every(cbEvery));
Hozzászóláshoz be kell jelentkezni!