mirror of
https://github.com/nodejs/node.git
synced 2025-05-18 22:22:58 +00:00

PR-URL: https://github.com/nodejs/io.js/pull/2286 Reviewed-By: Roman Reiss <me@silverwind.io>
21 lines
470 B
JavaScript
21 lines
470 B
JavaScript
'use strict';
|
|
|
|
var toPosInt = require('../number/to-pos-integer')
|
|
, value = require('../object/valid-value')
|
|
|
|
, slice = Array.prototype.slice;
|
|
|
|
module.exports = function (length/*, …fill*/) {
|
|
var arr, l;
|
|
length = toPosInt(value(length));
|
|
if (length === 0) return [];
|
|
|
|
arr = (arguments.length < 2) ? [undefined] :
|
|
slice.call(arguments, 1, 1 + length);
|
|
|
|
while ((l = arr.length) < length) {
|
|
arr = arr.concat(arr.slice(0, length - l));
|
|
}
|
|
return arr;
|
|
};
|