ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
25 lines (21 loc) • 722 B
JavaScript
;
var identity = require('./identity.js');
var native = require('./internals/native.js');
var isInteger = require('./isInteger.js');
var isFinite = require('./isFinite.js');
var list = function (n, iteratee) {
if (iteratee === void 0) { iteratee = identity; }
if (n < 1 || n > native.MAX_SAFE_INTEGER) {
return [];
}
var index = 0;
var length = native.mathMin(isInteger(n) ? n : native.mathFloor(isFinite(n) ? n : 0), native.MAX_ARRAY_LENGTH);
var result = Array(length);
var func = typeof iteratee === 'function' ? iteratee : identity;
while (index < length) {
result[index] = func(index);
index++;
}
return result;
};
module.exports = list;