例如,
[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]
怎么把所有可能的组合都列出来 ?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
4*2*2, 16种.
排列组合,由于每个数组中必须要有一个元素,那么对于
数组1:c(4,1)=4,
数组2:c(2,1)=2,
数组3:c(2,1)=2,
数组4:c(1,1)=1,
再每个相乘,注意重复元素.
一般来说有几组就需要几个循环,把里面的元素挨个组合一次就行了,这是js的常规解法,有没有更好的就不清楚了。