牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Javascript で python の range() みたいのを書いてみるメモ

function range(start, end) {
  var numbers = [];
  if (!end) {
    end = start;
    start = 0;
  }
  for (var i = start; i < end; i++) {
    numbers.push(i);
  }
  return numbers;
}
console.log(range(5, 18));
//-> [ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ]
console.log(range(10));
//-? [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

こんな感じ?

追記:2016-01-20

ES6 だとこんな感じ?

function range(start, end) {
  'use start';

  if (start >= end) {
    return [];
  }
  else if (!end) {
    end = start;
    start = 0;
  }

  return Array(end - start).fill().map((_, i) => start + i);
}

console.log(range(10, 10));
console.log(range(11, 10));
console.log(range(10));
console.log(range(1, 10));

//=> []
//=> []
//=> [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
//=> [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]