[電商]商品發布規格組合演算法

來源:互聯網
上載者:User

標籤:演算法   長度   length   group   這就是我   style   color   blog   result   

 1 //組合 2 function generateGroup(arr) { 3     //初始化結果為第一個數組 4     var result= arr[0]; 5     //從下標1開始遍曆二維數組 6     for(var i=1;i<arr.length;i++){ 7         //使用臨時遍曆替代結果數組長度(這樣做是為了避免下面的迴圈陷入死迴圈) 8         var size= result.length; 9         //根據結果數組的長度進行迴圈次數,這個數組有多少個成員就要和下一個數組進行組合多少次10         for(var j=0;j<size;j++){11             //遍曆要進行組合的數組12             for(var k=0;k<arr[i].length;k++){13                 //把組合的字串放入到結果數組最後一個成員中14                 //這裡使用下標0是因為當這個下標0組合完畢之後就沒有用了,在下面我們要移除掉這個成員15                 result.push(result[0]+","+arr[i][k]);16             }17             //當第一個成員組合完畢,刪除這第一個成員18             result.shift();19         }20     }21     //列印結果22     console.log(result);23 }24 25 generateGroup([["紅色","藍色"],["X","XL"],["10m","20m"]]);

商品發布規格組合這塊一直是我頭疼的問題,畢竟是第一次接觸電商項目開發,公司也沒有大牛帶隊,項目開發成員總共就4個人,兩個前端兩個後端,商品發布這塊相對其他頁面比較麻煩,於是商品發布前端後端都被我承包了。。

我們這個項目Team Dev,看起來更像是個研發團隊了,什麼都不懂,什麼都是瞎搞。。哎,說多了都是悲傷

說下我的思路:

  開始時建立一個變數result,並把arr的第一個數群組成員(arr是一個二維數組)賦值給它,然後把result作為基礎依次與後面的數群組成員進行組合,始終以result第0個成員去和目標組合,當組合完畢確定不再使用時移除掉這個下標為0的成員,這樣最終result裡只保留下了有用的資料,這裡有點像是隊列,先進先出的意思。

  例如:

  有資料:{a,b}{c,d}{e,f,g}

  初始化:result={a,b}

  第一次組合得到:a_c,a_d本輪組合結束後result為{a,b,a_c,a_d},刪除a後result為{b,a_c,a_d},進行下一輪..

  第N次組合依次...

這就是我的思路,或許有更好的方法,但這是我想破了頭才蒙出來的方法,如果你有更好的方式,請推薦給我,謝謝。

[電商]商品發布規格組合演算法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.