जावास्क्रिप्ट ऐरे को कम करें ()

जावास्क्रिप्ट ऐरे को कम () विधि एरे के प्रत्येक तत्व पर एक रिड्यूसर फ़ंक्शन को निष्पादित करता है और एक एकल आउटपुट मान देता है।

reduce()विधि का सिंटैक्स है:

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

यहाँ, अरै एक अरै है।

कम () पैरामीटर

reduce()विधि में लेता है:

  • कॉलबैक - फ़ंक्शन को प्रत्येक एरे तत्व पर निष्पादित करने के लिए (पहले तत्व को छोड़कर अगर कोई आरंभीकरण प्रदान नहीं किया जाता है)। इसमें लगता है
    • संचायक - यह कॉलबैक के रिटर्न मूल्यों को जमा करता है।
    • currentValue - वर्तमान तत्व सरणी से पास किया जा रहा है।
  • initialValue (वैकल्पिक) - ऐसा मान जो callback()पहले कॉल पर पास किया जाएगा । यदि प्रदान नहीं किया गया है, तो पहला तत्व पहले कॉल पर संचायक के रूप में कार्य करता है और callback()उस पर निष्पादित नहीं होगा।

नोट:reduce() initialValue के बिना खाली सरणी पर कॉल करना फेंक देगा TypeError

कम से वापसी मूल्य ()

  • सरणी को कम करने के बाद परिणामी एकल मान लौटाता है।

नोट :

  • reduce() बाएं से दाएं प्रत्येक मान के लिए दिए गए फ़ंक्शन को निष्पादित करता है।
  • reduce() मूल सरणी नहीं बदलता है।
  • यह प्रदान करने के लिए लगभग हमेशा सुरक्षित है initialValue

उदाहरण 1: सरणी के सभी मूल्यों का योग

 const numbers = (1, 2, 3, 4, 5, 6); function sum_reducer(accumulator, currentValue) ( return accumulator + currentValue; ) let sum = numbers.reduce(sum_reducer); console.log(sum); // 21 // using arrow function let summation = numbers.reduce( (accumulator, currentValue) => accumulator + currentValue ); console.log(summation); // 21

आउटपुट

 २१ २१

उदाहरण 2: ऐरे में संख्या घटाना

 const numbers = (1800, 50, 300, 20, 100); // subtract all numbers from first number // since 1st element is called as accumulator rather than currentValue // 1800 - 50 - 300 - 20 - 100 let difference = numbers.reduce( (accumulator, currentValue) => accumulator - currentValue ); console.log(difference); // 1330 const expenses = (1800, 2000, 3000, 5000, 500); const salary = 15000; // function that subtracts all array elements from given number // 15000 - 1800 - 2000 - 3000 - 5000 - 500 let remaining = expenses.reduce( (accumulator, currentValue) => accumulator - currentValue, salary ); console.log(remaining); // 2700

आउटपुट

 1330 2700

यह उदाहरण स्पष्ट रूप से एक initialValue पास करने और एक initialValue पास न करने के बीच के अंतर को स्पष्ट करता है।

उदाहरण 3: सरणी से डुप्लिकेट आइटम निकालें

 let ageGroup = (18, 21, 1, 1, 51, 18, 21, 5, 18, 7, 10); let uniqueAgeGroup = ageGroup.reduce(function (accumulator, currentValue) ( if (accumulator.indexOf(currentValue) === -1) ( accumulator.push(currentValue); ) return accumulator; ), ()); console.log(uniqueAgeGroup); // ( 18, 21, 1, 51, 5, 7, 10 )

आउटपुट

 (18, 21, 1, 51, 5, 7, 10)

उदाहरण 4: किसी संपत्ति द्वारा वस्तुओं को समूहीकृत करना

 let people = ( ( name: "John", age: 21 ), ( name: "Oliver", age: 55 ), ( name: "Michael", age: 55 ), ( name: "Dwight", age: 19 ), ( name: "Oscar", age: 21 ), ( name: "Kevin", age: 55 ), ); function groupBy(objectArray, property) ( return objectArray.reduce(function (accumulator, currentObject) ( let key = currentObject(property); if (!accumulator(key)) ( accumulator(key) = (); ) accumulator(key).push(currentObject); return accumulator; ), ()); ) let groupedPeople = groupBy(people, "age"); console.log(groupedPeople);

आउटपुट

 ('19': ((नाम: 'ड्वाइट', आयु: 19)), '21': ((नाम: 'जॉन', आयु: 21), (नाम: 'ऑस्कर', आयु: 21), '' 55 ': ((नाम:' ओलिवर ', आयु: 55), (नाम:' माइकल ', आयु: 55), (नाम:' केविन ', आयु: 55))

अनुशंसित पढ़ना: जावास्क्रिप्ट ऐरे को कम करना ()

दिलचस्प लेख...