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
let newArray = massiv.flatMap(funksiya);
Nümunə
Gəlin flatMap metodundan istifadə edərək
yeni massiv əldə edək:
let arr = ['a', 'b', 'c'];
let res = arr.flatMap(function(elem) {
return elem + '!';
});
console.log(res);
Kodun icrasının nəticəsi:
['a!', 'b!', 'c!']
Nümunə
Gəlin rəqəmlərdən ibarət olan orijinal massivdən yeni massiv əldə edək:
let 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:
[3, 4, 5, 6, 7]
Nümunə
Gəlin flatMap metodunu
ilk daxili səviyyəsi olan massivə tətbiq etməyə çalışaq:
let 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:
[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:
let 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:
[
'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:
let 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:
'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