हमें एक ऐसा फ़ंक्शन बनाने की आवश्यकता होती है जो संख्याओं की एक सरणी और एक स्ट्रिंग देता है जो दो मानों में से कोई भी "विषम" या "सम" ले सकता है, उस स्थिति से मेल खाने वाली संख्याओं को जोड़ता है। यदि नोवैल्यू शर्त से मेल खाते हैं, तो 0 लौटाया जाना चाहिए।
उदाहरण के लिए -
console.log(conditionalSum([1, 2, 3, 4, 5], "even")); => 6 console.log(conditionalSum([1, 2, 3, 4, 5], "odd")); => 9 console.log(conditionalSum([13, 88, 12, 44, 99], "even")); => 144 console.log(conditionalSum([], "odd")); => 0
तो, चलिए इस फ़ंक्शन के लिए कोड लिखते हैं, हम यहां Array.prototype.reduce() विधि का उपयोग करेंगे -
उदाहरण
const conditionalSum = (arr, condition) => { const add = (num1, num2) => { if(condition === 'even' && num2 % 2 === 0){ return num1 + num2; } if(condition === 'odd' && num2 % 2 === 1){ return num1 + num2; }; return num1; } return arr.reduce((acc, val) => add(acc, val), 0); } console.log(conditionalSum([1, 2, 3, 4, 5], "even")); console.log(conditionalSum([1, 2, 3, 4, 5], "odd")); console.log(conditionalSum([13, 88, 12, 44, 99], "even")); console.log(conditionalSum([], "odd"));
आउटपुट
कंसोल में आउटपुट होगा -
6 9 144 0