Maison >interface Web >js tutoriel >Codewars - Supprimer les occurrences d'un élément s'il apparaît plus de n fois

Codewars - Supprimer les occurrences d'un élément s'il apparaît plus de n fois

Susan Sarandon
Susan Sarandonoriginal
2025-01-06 10:49:43339parcourir

Salutations.

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

Je publie les défis Codewars et mon processus de réflexion dans cette série. J'utilise JS et Node 18 autant que possible. Par souci de clarté, j'en fais un usage équitable.

"Supprimer les occurrences d'un élément s'il apparaît plus de n fois". Essentiellement, coupez les parties au milieu du tableau, sans modifier l'ordre.

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;
}

Ça... marche. A besoin d'être refactorisé car il ne suit clairement aucune bonne pratique, mais je vais passer au prochain défi.

Prends soin de toi. Boire de l'eau ???.

Précédent

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn