हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो संख्याओं के किसी भी संख्या में सरणी लेता है। फिर फ़ंक्शन को एक ऑब्जेक्ट वापस करना चाहिए जो एक आवृत्ति मानचित्र देता है जो दर्शाता है कि प्रत्येक तत्व सभी सरणी में कितनी बार जांच कर रहा है।
उदाहरण के लिए, यदि सरणियाँ हैं -
const a = [23, 45, 21], b = [45, 23], c = [21, 32], d = [23], e= [32], f=[50, 54];
तब आउटपुट होना चाहिए -
const output = { "21": 2, "23": 3, "32": 2, "45": 2, "52": 1, "54": 1, "23, 45": 2, "23, 45, 21": 1, "21, 32": 1, "50 : 54": 1, "50" : 1 }
उदाहरण
इसके लिए कोड होगा -
const a = [23, 45, 21], b = [45, 23], c = [21, 32], d = [23], e= [32], f=[50, 54]; const findMatch = arr => { let result = []; const pick = (i, t) => { if (i === arr.length) { t.length && result.push(t); return; }; pick(i + 1, t.concat(arr[i])); pick(i + 1, t); }; pick(0, []); return result; }; const sorter = (a, b) => a - b; const mergeCombination = (arr, obj) => { findMatch(arr.sort(sorter)).forEach(el => { return obj[el.join(', ')] = (obj[el.join(', ')] || 0) + 1 }); }; const buildFinalCombinations = (...arrs) => { const obj = {}; for(let i = 0; i < arrs.length; i++){ mergeCombination(arrs[i], obj); }; return obj; }; console.log(buildFinalCombinations(a, b, c, d, e, f));
आउटपुट
कंसोल में आउटपुट -
{ '21': 2, '23': 3, '32': 2, '45': 2, '50': 1, '54': 1, '21, 23, 45': 1, '21, 23': 1, '21, 45': 1, '23, 45': 2, '21, 32': 1, '50, 54': 1 }