Javascript 如何获取word-JS的所有可能集合

Javascript 如何获取word-JS的所有可能集合,javascript,recursion,Javascript,Recursion,我试图创建一个函数,它将返回一个具有给定字符串幂集的数组,w/c是包括空集在内的所有可能子集的集合 应对子集中的所有字符进行排序,并且无论顺序如何,相同字符集都被视为重复字符,并且只计数一次,例如,“ab”和“ba”是相同的 例如: allSet("jump") * -> ["", "j", "ju", "jm", "jp", "jmu", "jmp", "jpu", "jmpu", "u", "m", "p", "mu", "mp", "pu", "mpu"] */ 我一直在试图

我试图创建一个函数,它将返回一个具有给定字符串幂集的数组,w/c是包括空集在内的所有可能子集的集合

应对子集中的所有字符进行排序,并且无论顺序如何,相同字符集都被视为重复字符,并且只计数一次,例如,“ab”和“ba”是相同的

例如:

allSet("jump")

 * -> ["", "j", "ju", "jm", "jp", "jmu", "jmp", "jpu", "jmpu", "u", "m", "p", "mu", "mp", "pu", "mpu"]
 */
我一直在试图找出背后的逻辑并尝试使用递归,但我就是不能:

var allSet=functionstr{ 让结果=[]; 让strCopy=str.split; strCopy=strCopy.slice; 对于变量i=0;iallSetjump 您可以使用递归采用这种方法:

var allSet=functionstr{ 让结果=[]; 让strCopy=str.split; strCopy=strCopy.slice; //基本条件 ifstr.length==0{ 返回[]; } //再次调用函数,str删除第一个字符 var _rec=allSetstr.1; //在_rec的所有元素上添加第一个字符 var _rec2=_rec.mapel=>str.charAt0+el; //加入两个数组 返回_rec.concat_rec2; };
console.logallSetjump;也许你应该试试,他们喜欢这种东西。请看:如何对待双字母?评论、参考等,所以。。。这段代码有效吗?你想理解它吗?在这种情况下,请尝试在调试器中单步执行代码。