117 of 264 menu

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 әдісі,
    ішкі массивтерден массив қайтарады
Қазақ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართული한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау