当前位置: 首页 > 文档资料 > Lazy.js 英文文档 >

range

优质
小牛编辑
127浏览
2023-12-01

Creates a sequence from a given starting value, up to a specified stopping value, incrementing by a given step. Invalid values for any of these arguments (e.g., a step of 0) result in an empty sequence.

Signature

Lazy.range = function() { /*...*/ }
Lazy.range = function range() {
  var start = arguments.length > 1 ? arguments[0] : 0,
  stop  = arguments.length > 1 ? arguments[1] : arguments[0],
  step  = arguments.length > 2 && arguments[2];

  if (step === false) {
step = stop > start ? 1 : -1;
  }

  if (step === 0) {
return Lazy([]);
  }

  return Lazy.generate(function(i) { return start + (step * i); })
.take(Math.ceil((stop - start) / step));
}
NameType(s)Description
returnsGeneratedSequence

The sequence defined by the given ranges.

Examples

Lazy.range(3)         // sequence: [0, 1, 2]
Lazy.range(1, 4)      // sequence: [1, 2, 3]
Lazy.range(2, 10, 2)  // sequence: [2, 4, 6, 8]
Lazy.range(5, 1, 2)   // sequence: []
Lazy.range(5, 15, -2) // sequence: []
Lazy.range(3, 10, 3)  // sequence: [3, 6, 9]
Lazy.range(5, 2)      // sequence: [5, 4, 3]
Lazy.range(7, 2, -2)  // sequence: [7, 5, 3]
Lazy.range(3, 5, 0)   // sequence: []