我有这种类型的数据
var arr = [
["A", "AA"],
["B"],
["C", "CC", "CCC"]
];
我想获得每个数组中所有元素的组合。例如
A B
A B C
A B CC
A B CCC
A C
A CC
A CCC
...
AA B CCC
注意单词的顺序是一样的,像这样不应该是B A C
的组合之一.
我尝试了几种逻辑,但无法得到我要找的东西。我可以获得所有单词的所有排列和组合,但这不是我要找的。p>
请推荐
最佳答案
您基本上想要跨多个列表排列:
function permute(input)
{
var out = [];
(function permute_r(input, current) {
if (input.length === 0) {
out.push(current);
return;
}
var next = input.slice(1);
for (var i = 0, n = input[0].length; i != n; ++i) {
permute_r(next, current.concat([input[0][i]]));
}
}(input, []));
return out;
}
permute(arr);
关于javascript - 多个数组元素的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952437/