117 of 264 menu

flatMap ක්‍රමය

flatMap ක්‍රමය නව අරාවක් ආපසු ලබා දෙයි, මුල් අරාවේ එක් එක් මූලද්‍රව්‍යයට ක්‍රමයේ පරාමිතියේ දක්වා ඇති callback, යෙදීමෙන් පසුව එය නිර්මාණය වේ. පළමු බැල්මට flatMap ක්‍රමය map ක්‍රමයට සමාන බව පෙනේ, නමුත් එහි ප්‍රධාන වෙනස එය සැමවිටම තනි මාන අරාවක් ආපසු ලබා දීමයි.

වාක්‍ය රීතිය

let newArray = array.flatMap(function);

උදාහරණය

අපි 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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න