reduce ක්රමය
reduce ක්රමය අරාව
එක් අගයකට ගෙන එයි (හැකිළෙයි). උදාහරණයක් වශයෙන්,
මෙම ක්රමය භාවිතයෙන් අරාවේ මූලද්රව්යවල එකතුව
සෙවීම පහසුය (එනම් අරාව එක් අගයකට
හැකිළෙනු ඇත - මූලද්රව්යවල එකතුවට).
reduce ක්රමය මුලින්ම ලබන පරාමිතිය වන්නේ
ශ්රිතයක් වන අතර, එය අනුක්රමිකව ක්රියාත්මක වනු ඇත
පළමුවැන්නෙන් පටන් ගෙන අරාවේ සෑම මූලද්රව්යයක් සඳහාම.
මෙම ශ්රිතයට 4 පරාමිති ලබා දිය හැක.
මෙම පරාමිති පවතී නම් (ඒවා අනිවාර්ය නොවේ),
එවිට පළමුවැන්නට ස්වයංක්රීයව ඇතුළු වනු ඇත අතරමැදි
ප්රතිඵලය, දෙවැන්නට ඇතුළු වනු ඇත අරාවේ මූලද්රව්යය,
තෙවැන්නට - එහි අරාවේ අංකය (සුචිය),
සහ හතරවැන්නට - අරාවම.
අතරමැදි ප්රතිඵලය - එය විචල්යයකි,
එහි එම අගය රැස් වනු ඇත,
reduce ක්රමය ආපසු ලබා දෙන විට
අරාවේ සියලුම මූලද්රව්ය හරහා ගමන් කරයි. උදාහරණයක් වශයෙන්,
එහි අරාවේ මූලද්රව්යවල එකතුව අනුක්රමිකව රැස් කළ හැක:
මුලින් පළමු මූලද්රව්යය තබන්න,
පසුව පුඩුවේ දී දැන්
පළමු මූලද්රව්යයේ සහ දෙවැන්නේ එකතුව, පසුව පුඩුවේ දී
- පළමු, දෙවන සහ තෙවන එකතුව.
එසේ, අරාව අවසන් නොවන තුරු.
reduce භාර ගන්නා ශ්රිතය,
නව අතරමැදි ප්රතිඵල අගය ආපසු ලබා දිය යුතුය.
reduce ක්රමයේ දෙවන පරාමිතිය ලෙස දක්වා ඇත්තේ
අතරමැදි ප්රතිඵලයේ ආරම්භක අගයයි.
එය නොදක්වා තබා ගත්තේ නම්, එය පළමු
අරාවේ මූලද්රව්යයට සමාන වනු ඇත, සහ මූලද්රව්ය සැකසීම ආරම්භ වනු ඇත
දෙවන මූලද්රව්යයෙන්.
වාක්ය රචනය
අරාව.reduce(function(අතරමැදි ප්රතිඵලය, මූලද්රව්යය, සුචිය, අරාව) {
return නව අතරමැදි ප්රතිඵලය;
}, ආරම්භක අගය);
උදාහරණය
අරාවේ මූලද්රව්යවල එකතුව සොයමු:
let arr = [1, 2, 3, 4, 5, 6];
let res = arr.reduce(function(sum, elem) {
return sum + elem;
}, 0);
console.log(res);
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
21
උදාහරණය
අපි සියලු ධන සංඛ්යාවල එකතුව සොයා ගනිමු:
let arr = [1, -2, -3, 4, 5, -6];
let res = arr.reduce(function(sum, elem) {
if (elem >= 0) {
return sum + elem;
} else {
return sum;
}
}, 0);
console.log(res);
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
10