JavaScript හි callback ශ්‍රිත

ශ්‍රිත වෙනත් ශ්‍රිතවලට පරාමිති ලෙස ලබා දිය හැකිය. එවැනි පරාමිති ශ්‍රිත callback (callback) ලෙස හැඳින්වේ. උදාහරණයක් මත ඒවා සමඟ වැඩ කිරීම බලමු.

අපි පළමු පරාමිතිය ලෙස අරාවක් ලබා ගන්නා ශ්‍රිතයක් සෑදීමට අවශ්‍ය යැයි සිතමු, සහ දෙවන පරාමිතිය ලෙස - callback, එය අරාවේ සෑම මූලද්‍රව්‍යයකටම යොදනු ඇත:

javascriptfunction each(arr, callback) {
  // මෙහි කේතයක් තිබේ
}

අපගේ ශ්‍රිතයේ ක්‍රියාත්මක කිරීම ලියමු:

javascriptfunction each(arr, callback) {
  let result = [];
  
  for (let elem of arr) {
    result.push( callback(elem) ); // callback ශ්‍රිතය ක්‍රියාත්මක කරයි
  }
  
  return result;
}

අපගේ each ශ්‍රිතය - සාමාන්‍ය වේ. එනම්, අපට එයට විවිධ callback ලබා දිය හැකිය, විවිධ ක්‍රියාකාරකම් සිදු කරමින් අරා මත. මෙහිදී අපගේ ශ්‍රිතයේ කේතය එලෙසම පවතී නොවෙනස් - වෙනස් වන්නේ පමණක් ලබා දෙන callback.

උදාහරණයක් ලෙස අපගේ ශ්‍රිතය භාවිතයෙන් කිසියම් අරාවක සෑම මූලද්‍රව්‍යයක්ම වර්ග කරමු. මේ සඳහා අදාළ callback පරාමිතියක් ලෙස ලබා දෙමු:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 2;
});

console.log(result);

දැන් අරාවේ මූලද්‍රව්‍ය කියුබ් කරමු. මේ සඳහා පරාමිතියක් ලෙස අනෙක් callback එකක් ලබා දෙමු, මෙම ක්‍රියාව සිදු කරයි:

javascriptlet result = each([1, 2, 3, 4, 5], function(num) {
  return num ** 3;
});

console.log(result);
Задание 1

අංක සමඟ අරාවක් ලබා දී ඇත. අප විසින් සාදන ලද each ශ්‍රිතය භාවිතයෙන් සෑම මූලද්‍රව්‍යක්ම දෙගුණයකින් වැඩි කරන්න.

Задание 2

යෝම්‍ය සමඟ අරාවක් ලබා දී ඇත. අප විසින් සාදන ලද each ශ්‍රිතය භාවිතයෙන් සෑම යෝම්‍යයකම අක්ෂර ප්‍රතිලෝම අනුපිළිවෙලට හරවන්න.

Задание 3

යෝම්‍ය සමඟ අරාවක් ලබා දී ඇත. අප විසින් සාදන ලද each ශ්‍රිතය භාවිතයෙන් සෑම යෝම්‍යයකම පළමු අක්ෂරය ධාවන අකුරක් කරන්න.