flatMap მეთოდი
flatMap მეთოდი აბრუნებს
ახალ მასივს, რომელიც შექმნილია მას შემდეგ
რაც საწყისი მასივის თითოეულ ელემენტზე
გამოიძახეს ქოლბექი,
რომელიც მითითებულია მეთოდის პარამეტრში.
პირველი შეხედვით flatMap მეთოდი
map მეთოდს ჰგავს, მაგრამ მისი მთავარი განსხვავება
ისაა, რომ ის ყოველთვის აბრუნებს ერთგანზომილებიან მასივს.
სინტაქსი
let newArray = მასივი.flatMap(ფუნქცია);
მაგალითი
მოდით მივიღოთ ახალი მასივი,
flatMap მეთოდის გამოყენებით:
let arr = ['a', 'b', 'c'];
let res = arr.flatMap(function(elem) {
return elem + '!';
});
console.log(res);
კოდის შესრულების შედეგი:
['a!', 'b!', 'c!']
მაგალითი
მოდით მივიღოთ ახალი მასივი რიცხვებისაგან შემდგარი საწყისი მასივიდან:
let arr = [1, 2, 3, 4, 5];
let res = arr.flatMap(function(elem) {
return elem + 2;
});
console.log(res);
კოდის შესრულების შედეგი:
[3, 4, 5, 6, 7]
მაგალითი
მოდით ვცადოთ flatMap მეთოდის გამოყენება
პირველი დონის ჩადგმულობის მქონე მასივზე:
let arr = [1, 2, 3, [4, 5]];
let res = arr.flatMap(function getElem(elem){
return elem + 2;
});
console.log(res);
კოდის შესრულების შემდეგ ჩვენ ვნახავთ, რომ ფუნქციის პირობები გამოყენებული იქნა ქვემასივზე, რომელიც ჩათვლილი იქნა როგორც ერთი ელემენტი. ამიტომ ამ მეთოდის გამოძახებას ჩადგმულ მასივებში აზრი არ აქვს:
[3, 4, 5, '4,52']
მაგალითი
თუ ჩვენ გვინდა, რომ ჩადგმულობის დონეზე არ ვიფიქროთ,
არამედ გავაერთიანოთ მთელი მასივი, გამოვიყენოთ Infinity პარამეტრი:
let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]];
let res = arr.flatMap(Infinity);
console.log(res);
კოდის შესრულების შედეგი:
[
'a', 'b', 'c',
'd', 'e', 'f',
'g', 'h', 'i'
]
მაგალითი
მოდით გამოვიყენოთ ორი მეთოდი მასივზე:
flatMap და map, ხოლო ორივე მეთოდის პარამეტრში
იქნება მითითებული ფუნქცია, რომელიც მასივს ორგანზომილებიანს ხდის:
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 მეთოდი', res1);
console.log('flatMap მეთოდი', res2);
კოდის შესრულების შედეგი:
'map მეთოდი' [[3], [6], [9], [12], [15], [18]]
'flatMap მეთოდი' [3, 6, 9, 12, 15, 18]
იხილეთ აგრეთვე
-
flatმეთოდი,
რომელიც აბრუნებს მასივს ქვემასივებიდან