समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो पहली आर्गुमेंट के रूप में संख्याओं की एक सरणी और दूसरी आर्गुमेंट के रूप में एक संख्या लेता है। हमारा फ़ंक्शन सरणी से तत्वों को हटाएगा ताकि परिणामी सरणी में कोई तत्व निर्दिष्ट संख्या (दूसरी आर्गुमेंट) से अधिक बार प्रकट न हो।
उदाहरण
निम्न कोड देखें:
const arr = [4, 2, 3, 2, 4, 2, 2, 4]; const num = 2; const deleteExcess = (arr = [], num = 1) => { const map = {}; for(let i = 0; i < arr.length; i++){ if(!map[arr[i]]){ map[arr[i]] = 1; }else if(map[arr[i]] + 1 <= num){ map[arr[i]]++ }; }; const res = []; Object.keys(map).forEach(key => { for(i = 0; i < map[key]; i++){ res.push(key); }; }); return res.map(Number); }; console.log(deleteExcess(arr, num));आउटपुट
[ 2, 2, 3, 4, 4 ]