iteragain
Version:
Javascript Iterable/Iterator/Generator-function utilities.
25 lines • 885 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.divide = divide;
const toArray_1 = require("./toArray");
const toIterator_1 = require("./toIterator");
const toIterableIterator_1 = require("./toIterableIterator");
function divide(...args) {
if (args.length === 1)
return it => divide(it, args[0]);
const n = args[1];
const array = (0, toArray_1.default)(args[0]);
const result = [];
const quotient = Math.floor(array.length / n);
const remainder = array.length % n;
let stop = 0;
let start = 0;
for (let i = 1; i < n + 1; i++) {
start = stop;
stop += i <= remainder ? quotient + 1 : quotient;
result.push((0, toIterableIterator_1.default)((0, toIterator_1.default)(array.slice(start, stop))));
}
return result;
}
exports.default = divide;
//# sourceMappingURL=divide.js.map