reduce() Function in Javascript

reduce() function இங்கு ஒரு array-ல் reducer function ஐ பயன்படுத்தி array இல் உள்ள element களை ஒரு single value ஆக மாற்றலாம், அதாவது reduce செய்வதற்கு பயன்படுகிறது.

arr.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)

Note: reduce() function இங்கு இரண்டு argument அனுபப்படுகிறது, ஒரு callback function மற்றும் initialValue ஆகியன. முதல் argument ஆன callback function நான்கு argument களை accept செய்கிறது அவைகள் முறையே accumulator, currentValue, currentIndex, array ஆகியன. இங்கு accumulator இல் initialValue முதலில் store ஆகி இருக்கும். initialValue கொடுக்கவில்லை என்றால் array இன் முதல் value store ஆகி விடும். இங்கு முக்கியமாக callback function இல் return செய்யப்படும் value ஆனது accumulator இல் இருக்கும்.

Example1

<script>
var data = [5,10,15,20,25];
var res = data.reduce(function(acc,val){
    return acc+val; 
},0);
document.writeln(res);
</script>

மேலே உள்ள Example1-ஐ கவனிக்கவும் இங்கு data என்ற variable இல் [5,10,15,20,25] என்ற array values ஆனது store செய்யபட்டுள்ளது.இங்கு data.reduce() function பயன்படுத்தபடுகிறது, இந்த function இல் start accumulator value ஆனது 0 என இருக்கும், பிறகு data என்ற array வில் ஒவ்வொரு value ஆக எடுத்து accumulator value உடன் addition செய்து data.reduce() function க்கு return செய்கிறது இங்கு இறுதியில் output ஆனது 75 என கிடைக்கிறது. output ஐ கவனிக்கவும்.

Output:

75

Example2

<script>
var input = [30,15,5];
var res = input.reduce(function(acc,val){
    return acc-val; 
});
document.writeln(res);
</script>

மேலே உள்ள Example2-ஐ கவனிக்கவும் இங்கு input என்ற variable இல் [30,15,5] என்ற array values ஆனது store செய்யபட்டுள்ளது. இங்கு input.reduce() function பயன்படுத்தபடுகிறது. இங்கு இரண்டாவது argument கொடுக்கப்படவில்லை எனவே array இன் முதல் value ஐ accumulator முதல் value ஆக எடுத்துகொள்ளும். இந்த function இல் start accumulator value ஆனது 30 என இருக்கும், பிறகு data என்ற array வில் ஒவ்வொரு value ஆக எடுத்து accumulator value உடன் subtraction செய்து input.reduce() function க்கு return செய்கிறது இங்கு இறுதியில் output ஆனது 10 என கிடைக்கிறது. output ஐ கவனிக்கவும்.

Output:

10

Comments