题目:const arr =[['A','B'],['a','b'],[1,2]]
求二维数组的全排列组合 结果:Aa1,Aa2,Ab1,Ab2,Ba1,Ba2,Bb1,Bb2
个人实现思路为:while循环将不断地执行,直到二维数组中只剩下一个数组为止。内部循环通过嵌套遍历两个数组的元素并拼接它们,生成新的结果。
const arr = [['A', 'B'], ['a', 'b'], [1, 2]];
const skuGroup = (arr) => {
const currentList = arr.filter(Boolean);
while (currentList.length >= 2) {
const first = currentList.shift();
const two = currentList.shift();
currentList.unshift([]);
for (let i = 0; i < first.length; i++) {
for (let j = 0; j < two.length; j++) {
currentList[0].push(String(first[i]) + String(two[j]))
}
}
}
return currentList;
}
skuGroup(arr)