1function combine(options, len) {
2 if (len === 1) return options.map(o => [o]);
3 const res = [];
4 options.forEach((cur, i) => {
5 const smaller = combine(options.slice(i+1), len-1);
6 smaller.forEach(s => res.push([cur, ...s]));
7 });
8 return res;
9}