1. 程式人生 > >兩層遍歷的遞歸寫法

兩層遍歷的遞歸寫法

ids 對比 ons dstar 的人 count The one code


            var arr1 = ["one","two","three"];
            var arr2 = ["LD","HTY"];
            
            test(arr1,arr2);

            function test(themeType,oidType){
                 //應用與人員對比的最大次數
                var maxNum = themeType.length * oidType.length;
                //從下標為0的應用開始對比,進行遞增
                var themeNum = 0;
                //從下標為0的人員開始遞增(如果當前應用與所有人員對比完畢,則與遞增後的應用進行對比)
                var oidStart = 0;
                empower(maxNum, themeType[themeNum], oidType[oidStart]);

                function empower(count, theme, oid) {
                    if (count <= 0) {
                        return;
                    } else {
                        console.log(count,theme,oid)
                        //如果本次應用與所需要的人員對比結束,則拿到一個應用進行對比
                        if (oidStart >= oidType.length-1) {
                            themeNum++;
                            oidStart = 0;  //與本次對比應用結束,初始化人員對比
                        //如果未與人員對比完畢,則與下一個人員進行對比
                        }else{
                            oidStart++;   
                        }
                        empower(count - 1, themeType[themeNum], oidType[oidStart]);
                    }

                }
            }

兩層遍歷的遞歸寫法