我想打印数组中每个数字的所有可能组合,并将所有组合存储在数组中。
到目前为止,我只对扁平化阵列进行了展平。
我知道我需要一个以数组作为参数然后返回所有可能组合的函数。
let array = [
[0, 1, 8],
[2, 3],
[4, 5]
];
const allPossibleCombinations = function (array) {
const combinations = [];
return array.reduce((p,c) =>
[...p, ...c] );
};
console.log(allPossibleCombinations(array))
但我需要这个结果
[ '0 2 4',
'0 2 5',
'0 3 4',
'0 3 5',
'1 2 4',
'1 2 5',
'1 3 4',
'1 3 5',
'8 2 4',
'8 2 5',
'8 3 4',
'8 3 5' ]
答案 0 :(得分:0)
可能不是最有效的解决方案,但这会产生所需的输出:
const [one, two, three] = [
[0, 1, 8],
[2, 3],
[4, 5]
];
const output = [];
for (let i of one) {
for (let j of two) {
for (let h of three) {
output.push([i, j, h]);
}
}
}
console.log(output);