ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
31 lines (27 loc) • 670 B
JavaScript
;
var native = require('./internals/native.js');
var isNil = require('./isNil.js');
var toFinite = require('./toFinite.js');
var range = function (start, end, step) {
start = toFinite(start);
if (isNil(end)) {
end = start;
start = 0;
}
else {
end = toFinite(end);
}
step = toFinite(step);
if (!step) {
step = start < end ? 1 : -1;
}
var index = -1;
var length = native.mathMax(native.mathCeil((end - start) / step), 0);
var result = Array(length);
while (length--) {
result[++index] = start;
start += step;
}
return result;
};
module.exports = range;