mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-02 08:07:50 +00:00
implemented 6 more passing tests for range. Now works like python's range
This commit is contained in:
@@ -33,19 +33,33 @@
|
||||
// Current version.
|
||||
_.VERSION = '0.4.5';
|
||||
|
||||
/*------------------------ Generator Functions: ----------------------------*/
|
||||
_.range = function(upper, lower, step) {
|
||||
if (!lower) var lower = 0;
|
||||
if (!step) var step = 1;
|
||||
/*------------------------ Generator Functions: ---------------------------*/
|
||||
|
||||
var result = new Array(((upper - lower) / step) + 1));
|
||||
|
||||
for (var i = lower; i <= upper; i += step) {
|
||||
result[i] = i;
|
||||
// Generates an Array, containing an arithmetic progressions
|
||||
// Analog of python's built-in function 'range'
|
||||
_.range = function(start, stop, step) {
|
||||
if (!stop) {
|
||||
var stop = start;
|
||||
start = 0;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
if (!step) var step = 1;
|
||||
|
||||
var length = Math.ceil((stop - start) / step);
|
||||
|
||||
if (length < 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var results = new Array(length);
|
||||
var resIdx = 0;
|
||||
|
||||
for (var i = start; (start <= stop ? stop - i > 0 : i - stop > 0); i += step) {
|
||||
results[resIdx++] = i;
|
||||
}
|
||||
|
||||
return results;
|
||||
};
|
||||
|
||||
/*------------------------ Collection Functions: ---------------------------*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user