let res =[];let len = arr.length;let index =[];//暂存可能排列的情况sort(-1);functionsort(start){
start ++;if(start > len -1){return;}for(index[start]=0; index[start]< arr[start].length; index[start]++){sort(start);if(start == len -1){let temp =[];let ss ='';for(let i = len -1; i >=0; i --){
ss += arr[start - i][index[start - i]];}
res.push(ss);}}}
console.log(res,'222')return res;}let aa =[['a','b'],['c','d'],['e','f']]full_arr(aa);```
记录一下(dfs算法,无回溯)思想:主要是排列index数组的变化,根据对应的数组长度取不同的下标值,可通过画树,明白其过程。–每次都从第一个位置开始 let res = []; let len = arr.length; let index = []; //暂存可能排列的情况 sort(-1); function sort(start) { start ++;