1. 程式人生 > 其它 >陣列中多個數組的組合方式(轉載)

陣列中多個數組的組合方式(轉載)

技術標籤:js演算法

原文部落格地址
現在有一批手機,其中顏色有[‘白色’,‘黑色’,‘金色’,‘粉紅色’];記憶體大小有[‘16G’,‘32G’,‘64G’,‘128G’],版本有[‘移動’,‘聯通’,‘電信’],要求寫一個演算法,實現[[‘白色’,‘16G’,‘移動’], [‘白色’,‘16G’,‘聯通’] …]這樣的組合,一個數組裡麵包含若干個陣列,進行組合。

  <script>
  function doExchange(arr, depth)
{
    for (var i = 0; i < arr[depth].length; i++) {
        result[
depth] = arr[depth][i] if (depth != arr.length - 1) { doExchange(arr, depth + 1) } else { results.push(result.join('-')) } } } function test(arr) { results = []; result = []; doExchange(arr, 0); console.log(results.length, results.join
(',')); } garr = [ ['紅色', '綠色', '白色'], ['大', '中', '小'], ['64G', '128G'], ] test(garr)

列印結果
在這裡插入圖片描述