36 lines
598 B
JavaScript
36 lines
598 B
JavaScript
const generate = (num, fn) => {
|
|
let a = [];
|
|
for (var i = 0; i < num; ++i)
|
|
a.push(fn(i));
|
|
return a;
|
|
};
|
|
|
|
const replicate = (num, val) =>
|
|
generate(num, () => val);
|
|
|
|
const concat = (a, b) =>
|
|
a.concat(b);
|
|
|
|
const flatten = (a) => {
|
|
let r = [];
|
|
for (let j = 0, J = a.length; j < J; ++j)
|
|
for (let i = 0, I = a[j].length; i < I; ++i)
|
|
r.push(a[j][i]);
|
|
return r;
|
|
}
|
|
|
|
const chunksOf = (n,a) => {
|
|
let b = [];
|
|
for (let i = 0, l = a.length; i < l; i += n)
|
|
b.push(a.slice(i, i + n));
|
|
return b;
|
|
}
|
|
|
|
module.exports = {
|
|
generate,
|
|
replicate,
|
|
concat,
|
|
flatten,
|
|
chunksOf
|
|
}
|