搜尋

首頁  >  問答  >  主體

javascript - 4個一維數組的元素能組成多少個一維數組

例如,

[1,2,3,4], [5], [7,8], [9]

產生一維數組, 應該是 8 種 .

其實類似枝狀 ~

[1,5,7,9],
[2,5,7,9],
[1,5,7,9],

/*** 
** 省略 ...
***/

[4,5,8,9]

假如是多一個元素呢 ?

[1,2,3,4], [5,6], [7,8], [9]

怎麼把所有可能的組合都列出來 ?

phpcn_u1582phpcn_u15822777 天前614

全部回覆(5)我來回復

  • 阿神

    阿神2017-05-16 13:06:38

    雷雷

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:06:38

    4*2*2, 16種.
    排列組合,由於每個數組中必須要有一個元素,那麼對於
    數組1:c(4,1)=4,
    數組2:c(2,1) =2,
    數組3:c(2,1)=2,
    數組4:c(1,1)=1,
    再每個相乘,注意重複元素.

    回覆
    0
  • 阿神

    阿神2017-05-16 13:06:38

    雷雷

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:06:38

    一般來說有幾組就需要幾個循環,把裡面的元素挨個組合一次就行了,這是js的常規解法,有沒有更好的就不清楚了。

    var a = [1,2,3,4],
        b = [5,6],
        c = [7,8],
        d = [9];
    
    for(var i = 0; i < a.length; i++) {
        for(var j = 0; j < b.length; j++) {
            for(var k = 0; k < c.length; k++) {
                for(var l = 0; l < d.length; l++) {
                    console.log(a[i] + '-' + b[j] + '-' + c[k] + '-' + d[l]);
                }
            }
        }
    }

    回覆
    0
  • 为情所困

    为情所困2017-05-16 13:06:38

    雷雷

    回覆
    0
  • 取消回覆