首页 >web前端 >js教程 >Codewars - 如果某个元素出现超过 n 次,则删除该元素的出现

Codewars - 如果某个元素出现超过 n 次,则删除该元素的出现

Susan Sarandon
Susan Sarandon原创
2025-01-06 10:49:43322浏览

问候。

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn