array.js 577 B

1234567891011121314151617181920212223242526272829
  1. const generate = (num, fn) => {
  2. let a = [];
  3. for (var i = 0; i < num; ++i) a.push(fn(i));
  4. return a;
  5. };
  6. const replicate = (num, val) => generate(num, () => val);
  7. const concat = (a, b) => a.concat(b);
  8. const flatten = a => {
  9. let r = [];
  10. 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]);
  11. return r;
  12. };
  13. const chunksOf = (n, a) => {
  14. let b = [];
  15. for (let i = 0, l = a.length; i < l; i += n) b.push(a.slice(i, i + n));
  16. return b;
  17. };
  18. module.exports = {
  19. generate,
  20. replicate,
  21. concat,
  22. flatten,
  23. chunksOf
  24. };