JavaScript计算每个组合循环

3
我正在尝试编写一个javascript函数,可以将x个元素分配到y个元素的所有可能组合中。我附上了一张图片,说明了我想要实现的内容。 这可能是一种基本的暴力方法,但我无法想出如何编写循环。希望有人能帮助我。 提前感谢!
代码方面,我还没有什么进展,因为我尝试过的方法都无法正常工作。 不过我已经定义了一个全局的空数组,长度为X。我还有另一个数组,其中包含相同的元素,并且想要对长度为X、由长度为Y的数组中的元素构成的所有组合进行操作。

你能将这张图片转换成PNG格式吗?这样我们至少可以在问题下方看到它吗? - Praveen
2
请问您能否发布您的代码,即使它不完整或者无法运行? - Roberto Reale
可能是JavaScript中的排列组合?的重复问题。 - adeneo
@adeneo 这不是重复的问题。你链接到的那个问题只有一个数组,并生成输入数组所有可能排列的数组(即对于长度为n的数组,它会产生n!个排列)。这个问题根本不同。 - Aadit M Shah
1个回答

4
你正在寻找组合相关的内容。在你的情况下,n=x,k=y。通过从这里借用代码,你可以通过以下方式可视化它:
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);
});

{{链接1:演示}}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接