range() | Underscore JS 日本語リファレンス

第1引数から第2引数 - 1までの数字の入った配列を返す関数。
引数が1つの時は0から引数 - 1までの数字の入った配列を返す。

■使用例

// re = [ 0, 1, 2, 3, 4 ];
var re = _.range( 5 );

// re2 = [ 4, 5, 6, 7, 8, 9 ];
var re2 = _.range( 4,10 );

// re3 = [ 0, 5, 10, 15, 20, 25 ];
var re3 = _.range( 0,30, 5 );

// re4 = [ 0, -1, -2, -3, -4, -5, -6, -7, -8, -9 ];
var re4 = _.range( 0,-10, -1 );

// re5 = [ ];
var re5 = _.range( 0 );

■内部構造

  _.range = function(start, stop, step) {

// 引数が1以下なら
    if (arguments.length <= 1) {

// start が falseなら stop = 0;
      stop = start || 0;
      start = 0;
    }
    
// step が falseなら step = 1;
    step = step || 1;

// Math.max() は引数の中で最大の値をとる。
    var length = Math.max(Math.ceil((stop - start) / step), 0);
    var range = Array(length);

// step 毎の値を length 分格納するforループ。
    for (var idx = 0; idx < length; idx++, start += step) {
      range[idx] = start;
    }

    return range;
  };

このページのトップへ戻る