Javascript 如何得到一个包含另一个数组中n个元素的所有可能排列的数组?
不久前我开始学习[这实际上是我的第一篇文章],但我决定尝试用javascript编写一个小的辅助项目,我遇到了这个挑战 我现在有一个包含7个元素的数组,但我计划将来更改它的长度。我需要另一个数组,包含第一个数组中N个元素的所有可能组合 到目前为止,我只能找到一种获得所有组合(N=firstArray.length-1)的方法,但对于较低的N没有任何运气Javascript 如何得到一个包含另一个数组中n个元素的所有可能排列的数组?,javascript,arrays,permutation,Javascript,Arrays,Permutation,不久前我开始学习[这实际上是我的第一篇文章],但我决定尝试用javascript编写一个小的辅助项目,我遇到了这个挑战 我现在有一个包含7个元素的数组,但我计划将来更改它的长度。我需要另一个数组,包含第一个数组中N个元素的所有可能组合 到目前为止,我只能找到一种获得所有组合(N=firstArray.length-1)的方法,但对于较低的N没有任何运气 有人能解释一下吗?谢谢 这里有一种方法可以得到答案。要理解这个想法,首先想象你想要找到由两个非相似元素组成的数组的所有排列[A,B]。不要将此数
有人能解释一下吗?谢谢 这里有一种方法可以得到答案。要理解这个想法,首先想象你想要找到由两个非相似元素组成的数组的所有排列[A,B]。不要将此数组视为[A,B]。把它想象成[0,1]。由于这两个元素的所有组合都可以通过在基数2中从0到3的计数找到,因此我们有[0,0]、[0,1]、[1,0]和[1,1]。因此,从1到3在基数2中计算将得到所有可能的组合,如果你扔掉所有带有重复数字的数组,然后用A代表0,B代表1,你就得到了答案 所以要解决你的七要素问题
这个过程也可以修改为考虑具有重复元素的集合。但这种方法解决的基本问题是确保考虑元素的每一种可能排列而不遗漏任何排列。标题是排列,正文是组合……选择一个:p您能给出一个结果示例吗(不要为7个元素这么做,而是为更易于管理的元素,比如3或4个元素)如果你能做
N=firstArray.length-1
…为什么你不能做N=firstArray.length-2
?你能在N=firstArray.length-1
时显示你的代码吗?也许这是对你已经编写的代码的简单修改,是一种通过交换产生排列的方法。嗨!谢谢你的答案。我正在尝试用你的建议。我想它会合二为一的。再次感谢=]@Nandofire如果你对这项技术有问题,请随时提问,我可以给你另一种方法。此外,如果你最终使用了这种方法,你介意接受这个答案吗?谢谢。再次感谢。我认为它有效!出于某种原因,我认为使用二进制将是我们的选择很好,但是制作计数器更简单,也更符合我的代码。再次感谢!