×
Vytvárame riešenia

Ako rýchlo vytvoriť funkciu map()

Rád sa učím z krátkych a výstižných kódov, ktoré dávajú nové inšpirácie a rovnako chcem prispieť aj ja svojimi príkladmi. Tentoraz som vytvoril metódu map(), ktorej úlohou je odfiltrovať polia o nežiadúce elementy. V demonštračnom príklade je takýmto elementom reťazec "c".
Príklad: Funkcia map().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var array = ["a", "b", "c", "d", "e", "f"];
function filterArray(item, index, array) {
// filtering items (elements), c is excluded
return item !== "c" ? true : false;
}
// my map() function
function map(arr, callback) {
var i = 0, length = arr.length, value = "", result = [];
var scope = arr;
for (i; i < length; i++) {
value = arr[i];
if (callback.call(scope, value, i, arr) === true) {
result.push(value)
}
}
return result;
}
var result = map(array, filterArray);
console.log(result.toString());
Tí, čo preferujú anonymné funkcie, môžu vyskúšať nasledujúci programový kód.
Príklad: Úprava volania funkcie map().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var array = ["a", "b", "c", "d", "e", "f"];
function map(arr, callback) {
var i = 0, length = arr.length, value = "", result = [];
var scope = arr;
for (i; i < length; i++) {
value = arr[i];
if (callback.call(scope, value, i, arr) === true) {
result.push(value)
}
}
return result;
}
var result = map(array, function(item, index, array) {
// filtering items, c is excluded
return item !== "c" ? true : false;
});
console.log(result.toString());
V praxi sa uvedený príklad s najväčšou pravdepodobnosťou neuchytí, keďže každý dobrý framework má už túto funkcionalitu podchytenú. No pre začínajúcich a mierne pokročilých programátorov môže byť tento kúsok kódu užitočný a môže pomôcť rozšíriť ich doterajšie znalosti.

Záver

V prípade, že ste sa nechali inšpirovať a funkciu ste vylepšili, podeľte sa o svoje výtvory prostredníctvom komentára.


JavaScript,programovanie,map,array,call
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších