flatMap metodu
flatMap metodu
parametrdə göstərilən geri çağırış funksiyası
ilə hər bir massiv elementinə tətbiq edildikdən sonra
yaradılan yeni massivi qaytarır.
İlk baxışdan flatMap metodu
map metoduna bənzəyir, lakin onun əsas fərqi
həmişə birölçülü massiv qaytarmasıdır.
Sintaksis
javascriptlet newArray = massiv.flatMap(funksiya);
Nümunə
Gəlin flatMap metodundan istifadə edərək
yeni massiv əldə edək:
javascriptlet arr = ['a', 'b', 'c'];
let res = arr.flatMap(function(elem) {
return elem + '!';
});
console.log(res);
Kodun icrasının nəticəsi:
javascript['a!', 'b!', 'c!']
Nümunə
Gəlin rəqəmlərdən ibarət olan orijinal massivdən yeni massiv əldə edək:
javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.flatMap(function(elem) {
return elem + 2;
});
console.log(res);
Kodun icrasının nəticəsi:
javascript[3, 4, 5, 6, 7]
Nümunə
Gəlin flatMap metodunu
ilk daxili səviyyəsi olan massivə tətbiq etməyə çalışaq:
javascriptlet arr = [1, 2, 3, [4, 5]];
let res = arr.flatMap(function getElem(elem){
return elem + 2;
});
console.log(res);
Kodu icra etdikdən sonra görərik ki, funksiyanın şərtləri altmassivə, onu bir element kimi hesablayaraq tətbiq olunub. Buna görə də bu metodun çağırılması daxili massivlərdə mənasızdır:
javascript[3, 4, 5, '4,52']
Nümunə
Əgər biz daxili səviyyə ilə məşğul olmaq istəmiriksə,
amma bütün massivi birləşdirmək istəyiriksə, onda Infinity parametrindən istifadə edirik:
javascriptlet arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flatMap(Infinity);
console.log(res);
Kodun icrasının nəticəsi:
javascript[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
Nümunə
Gəlin massivə iki metodu tətbiq edək:
flatMap və map, həm də hər iki metodun parametrində
massivi ikiólçülü edən funksiya göstəriləcək:
javascriptlet arr = [1, 2, 3, 4, 5, 6];
let res1 = arr.map(elem => [elem * 3]);
let res2 = arr.flatMap(elem => [elem * 3]);
console.log('map metodu', res1);
console.log('flatMap metodu', res2);
Kodun icrasının nəticəsi:
javascript'map metodu' [[3], [6], [9], [12], [15], [18]]
'flatMap metodu' [3, 6, 9, 12, 15, 18]
Həmçinin baxın
-
flatmetodu,
altmassivlərdən massiv qaytaran