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.5.11.2013, Matej LednárCategory: JavaScriptJavaScript,programovanie,map,array,callNo part of this article may be reproduced without mention of the author and URL to this website.For more information, see the About section.