首頁 > web前端 > js教程 > Codewars - 如果某個元素出現超過 n 次,則刪除該元素的出現

Codewars - 如果某個元素出現超過 n 次,則刪除該元素的出現

Susan Sarandon
發布: 2025-01-06 10:49:43
原創
292 人瀏覽過

問候。

Codewars - Delete occurrences of an element if it occurs more than n times

我在這個系列中發布了 Codewars 挑戰和我的思考過程。我盡可能使用 JS 和 Node 18。只是為了清楚起見,我正在合理地使用它們。

「如果某個元素出現超過 n 次,則刪除該元素的出現」。本質上,修剪數組中間的部分,而不改變順序。

function deleteNth(arr,n){
  let counter = {"top": n , "undef": 0};

  for (let i = 0 ; i < arr.length ; i++ ){
    (counter[arr[i]]) ? null : counter[arr[i]] = 0;
    if (counter[arr[i]] < n){
      counter[arr[i]]++;
    } 
    else {
      arr[i] = undefined;
      counter.undef++;
    }
  }

  arr.sort((a,b) => 0);

  for (let i = 0 ; i < counter.undef ; i++){
    arr.pop();
  }

  return arr;
}
登入後複製

它...有效。需要重構,因為它顯然沒有遵循任何良好實踐,但我將繼續迎接下一個挑戰。

保重。喝水???.

上一頁

以上是Codewars - 如果某個元素出現超過 n 次,則刪除該元素的出現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板