5 of 17 menu

JavaScript හි අරාව මූලද්‍රව්‍යයක් වෙනස් කිරීමේ දෝෂය

අරාවක මූලද්‍රව්‍යයක් වැරදි ලෙස වෙනස් කිරීමේදී ඇතිවන දෝෂය අපි බලමු. අපට පහත අරාව ඇතැයි සිතමු:

let arr = [1, 2, 3, 4, 5];

අපට අංකයක් පරාමිතියක් ලෙස පිළිගන්නා හා එම අංකයේ වර්ගය ආපසු ලබා දෙන ශ්‍රිතයක් ද ඇතැයි සිතමු:

function func(num) { return num ** 2; }

අපි for-of ලූපය භාවිතා කරමින් අපගේ අරාව හරහා පුනරාවර්තනය කර එහි එක් එක් මූලද්‍රව්‍යයට අපගේ ශ්‍රිතය යොදමු:

for (let elem of arr) { elem = func(elem); }

මෙම තැනදී ආරම්භකයින් බොහෝ විට දෝෂයක් කරති. elem විචල්‍යය වෙනස් කිරීම අරාව තුළ ඇති මූලද්‍රව්‍යය වෙනස් නොකරන බවයි ගැටලුව. අපි මෙය සත්‍යාපනය කර බලමු:

console.log(arr); // අරාව වෙනස් වී නැත

අරාව වෙනස් නොවන්නේ elem විචල්‍යය තුළ මූලද්‍රව්‍යයේ පිටපතක් ගබඩා වන නිසා වන අතර, එයට එහි සබැඳියක් නොමැත. elem වෙනස් කිරීම පිටපතට බලපාන නමුත් අරාවට නොවේ.

ගැටළුව විසඳීම සඳහා, නියම අරාව මූලද්‍රව්‍ය වෙනස් කළ යුතුය:

for (let i = 0; i < arr.length; i++) { arr[i] = func(arr[i]); } console.log(arr); // දැන් අරාව වෙනස් වී ඇත
සිංහල
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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න