如何获得锯齿状数组的所有可能组合?

问题描述 投票:2回答:1

我在函数中有一个参数,期望像= [[a,b], [1,2], [*,#]]这样的数组。数组中的数组数可能会有所不同。可以是一个,两个或多个。

如何获得数组值的所有可能的变体,例如:

a1*
a1#
a2*
a2#
b1*
b1#
...

我知道如何知道数组的数目。但是,如果不知道数组数,该如何合并?

更新:

let first = [`a`, `b`];
let second = [`1`, `2`];
let third = [`*`, `#`];

for (let i = 0; i < first.length; i++) {
    for (let j = 0; j < second.length; j++) {
        for (let k = 0; k < third.length; k++) {
            console.log(first[i] + '/' + second[j] + '/' + third[k]);
        }
    }
}
javascript arrays node.js permutation
1个回答
0
投票

我相信您正在寻找的东西在这里:

JavaScript - Generating combinations from n arrays with m elements

第一个答案给出了您所描述的功能。

© www.soinside.com 2019 - 2024. All rights reserved.