Modifier un niveau de granularité avec JavaScript

Concept et utilisation

La fonction arrayGranular() permet de filtrer une liste d'éléments selon un niveau de granularité.

Elle peut être utilisée pour tout type de liste d'éléments (nombres, chaines, éléments HTML, etc), et peut être paramétrée pour retourner un nombre de résultats maximum avec un niveau de granularité spécifique.

Fonction

arrayGranular()

Retourne une liste d'éléments filtrés.

Syntaxe
arrayGranular(liste, granularite, resultats_max);
Paramètres
liste(Array)

Le paramètre liste de la fonction arrayGranular() définit la liste des éléments à filtrer.

granularite(Number)

Le paramètre granularite de la fonction arrayGranular() définit le niveau de granularité appliqué au filtrage des éléments de la liste.

resultats_max(Number)

Le paramètre resultats_max de la fonction arrayGranular() définit le nombre maximum d'éléments de la liste qui seront retournés.
Si ce paramètre est omis, aucun nombre maximum de résultats ne sera appliqué.

Exemple de filtrage de liste selon un niveau de granularité

var liste = [1, 2, 3, 4, 5];
var granularite = 2;
var resultats_max = 2;

arrayGranular(liste, granularite, resultats_max);

// renvoie : [1, 3]

Code source de la fonction

function arrayGranular(a, b, c) {
  var i,
      d = a.length,
      e = [];
      c = c || d;
      b = b || 1;
  for (i = 0; i < d; i++) {
    if (i % b == 0 && e.length < c) {
      e.push(a[i]);
    }
    if (e.length == c) {
      break;
    }
  }
  return e;
}
^