समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पूर्णांकों की एक सरणी लेता है, गिरफ्तारी, जिसमें पहले तर्क के रूप में डुप्लिकेट हो सकते हैं, और एक संख्या, संख्या, दूसरे और अंतिम तर्क के रूप में हो सकती है।
हमारे फ़ंक्शन का कार्य सरणी के माध्यम से पुनरावृति करना और यह जांचना है कि क्या कोई संख्या मौजूद है जो सरणी में n से अधिक बार दिखाई देती है।
यदि ऐसा कोई तत्व मौजूद है, तो हमें इसकी घटना को अधिकतम संख्या तक सीमित करने के लिए इसकी अतिरिक्त घटनाओं को हटा देना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const arr = [4, 1, 3, 1, 4, 1, 3, 4, 2]; const num = 2;
आउटपुट
const output = [4, 1, 3, 1, 4, 3, 2];
आउटपुट स्पष्टीकरण
4 और 1 दोनों तीन बार दिखाई दिए, इसलिए उनकी तीसरी उपस्थिति हटा दी गई
उदाहरण
निम्नलिखित कोड है -
const arr = [4, 1, 3, 1, 4, 1, 3, 4, 2]; const num = 2; const deleteExtra = (arr = [], num = 1) => { if(num === 0){ return []; }; const res = []; const map = {}; for(let i = 0; i < arr.length; i++){ const el = arr[i]; map[el] = (map[el] || 0) + 1; if(map[el] <= num){ res.push(el); }; }; return res; }; console.log(deleteExtra(arr, num));
आउटपुट
[ 4, 1, 3, 1, 4, 3, 2 ]