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