समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो स्ट्रिंग्स की एक सरणी लेता है, एआर, पहले और एकमात्र तर्क के रूप में।
हमारा फ़ंक्शन उन सभी वर्णों की एक सरणी लौटाने वाला है जो सरणी के भीतर सभी स्ट्रिंग्स में दिखाई देते हैं (डुप्लिकेट सहित) ।
उदाहरण के लिए, यदि कोई वर्ण सभी स्ट्रिंग्स में 2 बार आता है, लेकिन 3 बार नहीं, तो हमें उस वर्ण को अंतिम उत्तर में 2 बार शामिल करना होगा।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = ['door', 'floor', 'crook'];
तब आउटपुट होना चाहिए -
const output = ['r', 'o', 'o'];
उदाहरण
इसके लिए कोड होगा -
const arr = ['door', 'floor', 'crook']; const findCommon = (arr = []) => { let prev = null; arr.forEach((str) => { const next = {}; for(const val of str){ if(!prev){ next[val] = (next[val] || 0) + 1; }else if(prev[val]){ prev[val] -= 1; next[val] = (next[val] || 0) + 1; }; }; prev = next; }); const res = Object.keys(prev).reduce((acc, val) => { for(let i = 0; i < prev[val]; i++){ acc.push(val); } return acc }, []); return res; }; console.log(findCommon(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ 'r', 'o', 'o' ]