2

现有a、b,

a = [1,2];
b = ['a','b'];

如何快速生成
[[1,'a'], [1,'b'],[2,'a'],[2, 'b']]

两次for循环 感觉有点不太方便。 有没有简便的快速写法?

有个类似的问题 ---> 这里

5个回答

1
a = [1,2];
b = ['a','b'];
c = [];
a.forEach(aitem => b.forEach(bitem => c.push([aitem,bitem])));

这样可以吗

1
0

想到了一个场景 关键词组合
在数组是可变量延伸成多维并顺序可颠倒、同求个思路、感谢

0

没有现成的使用lodash的函数库你可以轻松实现功能
import { flatMap, map } from 'lodash';

flatMap([1, 2], i => map(['a', 'b'], j => [i, j]))

可以自己写一个通用函数

const nest = (xs, ys, predicate) => flatMap(xs, x => map(ys, y => predicate(x, y)))

这样使用nest([1, 2], ['a', 'b'], (x, y) => [x, j])

撰写答案