Javascript计算每个组合循环

时间:2014-04-18 10:42:14

标签: javascript arrays loops permutation

我试图在javascript中编写一个函数,可以在每个可能的组合中将y元素分配给y个元素。我列出了我想要实现的目标。 我猜这是一些基本的蛮力,但我无法弄清楚应该如何编写循环。我希望有人可以帮助我。 提前致谢

enter image description here

代码。我还没有多少,因为我尝试过的东西都没有用。

但是我有一个全局定义的空数组,它是X长的。我有另一个充满THE SAME元素的数组,并希望X长度数组的每个组合都包含长度为Y的数组元素。

1 个答案:

答案 0 :(得分:4)

您正在寻找combination。在您的情况下,n = x和k = y。通过here借用代码,您可以通过这种方式将其可视化:

var x = 7;
var y = 3;
comb(y,x).forEach(function(item){    
    var tr = $('<tr>');
    for(var i=0; i<x;++i){
        tr.append('<td>');
    }
    var chunks = item.split(" ");
    chunks.pop();
    chunks.forEach(function(index){
        tr.find("td").eq(+index).addClass("black");
    });
    $("table").append(tr);
});

DEMO