Metode map
Die metode map laat jou toe om 'n gegewe
funksie op elke element van 'n skikking toe te pas. Die
metode verander nie die oorspronklike skikking nie, maar
gee 'n gewysigde skikking terug.
Die metode ontvang 'n funksie as parameter, wat
vir elke element van die skikking uitgevoer sal word.
Wat hierdie funksie via return vir die
skikkings-element teruggee, sal die nuwe waarde van
daardie element word (sien voorbeelde).
Jy kan 3 parameters aan die funksie oordra.
As hierdie parameters bestaan (hulle is nie verpligtend nie),
dan sal die eerste outomaties die element van die
skikking ontvang, die tweede sal sy posisie in die skikking
(indeks) ontvang, en die derde - die skikking self.
Sintaksis
let nuwe skikking = skikking.map(function(element, indeks, skikking) {
kode
return gewysigde element;
});
Voorbeeld
Kom ons skep 'n skikking waar elke element twee keer die ooreenstemmende element van die oorspronklike skikking is:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem) {
return elem * 2;
});
console.log(res);
Resultaat van die kode-uitvoering:
[2, 4, 6, 8, 10]
Voorbeeld
Kom ons skep 'n skikking waar elke element so verkry word - die waarde van die element word vermenigvuldig met sy volgorde in die skikking:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index) {
return elem * index;
});
console.log(res);
Resultaat van die kode-uitvoering:
[0, 2, 6, 12, 20]
Voorbeeld
Indien nodig kan die skikking self aan die derde parameter oorgedra word:
let arr = [1, 2, 3, 4, 5];
let res = arr.map(function(elem, index, arr) {
// die skikking arr sal hier beskikbaar wees
});
Voorbeeld
Die metode map kan ook gebruik word vir
die deurloping van multidimensionele skikkings. Byvoorbeeld,
gegee die volgende skikking:
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
Kom ons deurloop hierdie skikking met
map en druk sy elemente in die konsole uit:
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
let result = arr.map(function(elem) {
console.log(elem);
});
As gevolg sal console.log eers [1,
2, 3] uitdruk, dan [4, 5, 6], dan
[7, 8, 9].
Soos jy kan sien, beland die subskikkings in die veranderlike
elem. Kom ons pas nou die metode
map op elke subskikking toe en verhef
elke element daarvan tot die kwadraat:
let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
let result = arr.map(function(elem) {
return elem.map(function(num) {
return num * num;
});
});
console.log(result);