cross.js 428 B

123456789101112131415161718192021
  1. import {pair} from "./pairs";
  2. export default function(values0, values1, reduce) {
  3. var n0 = values0.length,
  4. n1 = values1.length,
  5. values = new Array(n0 * n1),
  6. i0,
  7. i1,
  8. i,
  9. value0;
  10. if (reduce == null) reduce = pair;
  11. for (i0 = i = 0; i0 < n0; ++i0) {
  12. for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {
  13. values[i] = reduce(value0, values1[i1]);
  14. }
  15. }
  16. return values;
  17. }