हमारे पास इस तरह की सरणियों की एक सरणी है -
const arr = [[12, 56], [3, 45], [23, 2], [2, 6], [2, 8]];
ध्यान दें कि जबकि सरणी में तत्वों की संख्या हो सकती है, प्रत्येक उपसरणी में सख्ती से दो संख्याएं होनी चाहिए।
प्रत्येक उप-सरणी में दो संख्याएँ भिन्न का प्रतिनिधित्व करती हैं। जैसे पहले उप-सरणी द्वारा दर्शाया गया अंश 12/56 है, दूसरे से 3/45 है और इसी तरह।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो एक ऐसी सरणी लेता है और सभी सबएरे द्वारा दर्शाए गए अंशों के योग की गणना करता है।
हमें अंश के रूप में योग की गणना करने की आवश्यकता है (अर्थात, उन्हें दशमलव में परिवर्तित किए बिना)।
और योग को परिणामी भिन्न का प्रतिनिधित्व करने वाले दो तत्वों की एक सरणी के रूप में लौटाएं।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखें -
उदाहरण
इसके लिए कोड होगा -
const arr = [[12, 56], [3, 45], [23, 2], [2, 6], [2, 8]]; const gcd = (a, b) => { let num = 2, res = 1; while(num >= Math.min(a, b)){ if(a % num === 0 && b % num === 0){ res = num; }; num++; }; return res; } const sumFrac = (a, b) => { const aDenom = a[1], aNumer = a[0]; const bDenom = b[1], bNumer = b[0]; let resDenom = aDenom * bDenom; let resNumer = (aDenom*bNumer) + (bDenom*aNumer); const greatestDivisor = gcd(resDenom, resNumer); return [resNumer/greatestDivisor, resDenom/greatestDivisor]; }; const sumArrayOfFractions = arr => { return arr.reduce((acc, val) => sumFrac(acc, val)); }; console.log(sumArrayOfFractions(arr));
आउटपुट
कंसोल में आउटपुट होगा -
[ 1731, 140 ]