created by aha00a at 2016-01-28
last modified by aha00a at 2016-01-28
revision: 2

JavaScript Range

http://stackoverflow.com/questions/3895478/does-javascript-have-a-method-like-range-to-generate-an-array-based-on-suppl

  • Simple
    const range = (b, e) => Array.apply(null, new Array(Math.abs(e - b))).map((_, i) => {return b < e ? i+b : b-i;});
  • Fancy
    const range2 = (start, end, step, offset) => Array.apply(null, new Array((Math.abs(end - start) + ((offset||0)*2))/(step||1)+1)) .map(function(_, i) { return start < end ? i*(step||1) + start - (offset||0) :  (start - (i*(step||1))) + (offset||0) });
    • inclusive - forward  range(5,10)   // [5, 6, 7, 8, 9, 10]
      inclusive - backward  range(10,5)   // [10, 9, 8, 7, 6, 5]
      step - backward  range(10,2,2)   // [10, 8, 6, 4, 2]
      exclusive - forward  range(5,10,0,-1)   // [6, 7, 8, 9]  not 5,10 themselves
      offset - expand  range(5,10,0,1)   // [4, 5, 6, 7, 8, 9, 10, 11]
      offset - shrink  range(5,10,0,-2)   // [7, 8]
      step - expand  range(10,0,2,2)   // [12, 10, 8, 6, 4, 2, 0, -2]

1. See Also

1.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

1.3. Adjacent Pages