समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक संख्या लेता है।
हमारे फ़ंक्शन को सरणी से तत्वों को हटाना चाहिए ताकि परिणामी सरणी में निर्दिष्ट संख्या (दूसरा तर्क) से अधिक के लिए प्रदर्शित होने वाला कोई तत्व न हो।
उदाहरण
निम्नलिखित कोड है -
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 ]