任何人都可以建议一种简单的方法来获得所有组合而不重复,并且长度不同吗?
[0,1,2,3,4]
(2): [0,1],[0,2],[0,3] ...... [3,4]
(3): [0,1,2],[0,1,3] ...... [2,3,4]
(4): [0,1,2,3],[0,1,2,4] ...... [1,2,3,4]
答案 0 :(得分:2)
这有没有重复的所有组合
var arr:Array = [0, 1, 2, 3, 4];
var $allcombos:Array = [];
findCombos($allcombos,[],arr);
function findCombos($root:Array, $base:Array, $rem:Array):void {
for (var i:int = 0; i < $rem.length; i++) {
var a:Array = $base.concat();
a.push($rem[i]);
findCombos($root, a, $rem.slice(i + 1));
if (a.length > 1) {
$root.push(a);
}
}
}