Affichage des articles dont le libellé est parametre par défaut. Afficher tous les articles
Affichage des articles dont le libellé est parametre par défaut. Afficher tous les articles

Passage des arguments


  1. function baseRange(start, end, step=1, fromRight=false) {
  2.     let index = -1,
  3.         length = Math.max(Math.ceil((end - start) / (step)), 0),
  4.         result = Array(length);

  5.     while (length--) {
  6.       result[fromRight ? length : ++index] = start;
  7.       start += step;
  8.     }
  9.     return result;
  10.   } 
  11. let t = baseRange(0,9,4,false);
  1. const baseRange = function (...arg) {
  2.     let [start, end, step = 1, fromRight = false] = arg;
  3.     let index = -1,
  4.         length = Math.max(Math.ceil((end - start) / (step)), 0),
  5.         result = Array(length);
  6.     while (length--) {
  7.         result[fromRight ? length : ++index] = start;
  8.         start += step;
  9.     }
  10.     return result;
  11. }
  12. let t = baseRange(094false);

code

Test A fond la forme

range("  0b011 "," 5",0.5));

Range avec test ! 


Notion avancée


Notez également l'utilisation d'un générateur


 let range = function(start,end,step){
   
   return {
    *[Symbol.iterator]() {
          let value = start;
          while (value < end) {
              yield value;
              value = value + step;
          }
   }
   }
 }

 for (let e of range(1,6,2)) console.log(e);
 let [a,b,...c] = [...range(1,6,1)]
 console.log(a,b,c)