mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-25 05:44:06 -06:00
29 lines
577 B
JavaScript
29 lines
577 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
|
|
}; |