Dada la cadena de entrada NEIDESL , necesito generar un superconjunto de cada combinación de letras que contiene esta cadena. He probado algunas buenas respuestas de StackOverflow.
Sin embargo, al ejecutar con mi cadena de entrada, ninguno de los resultados contiene la palabra DIESEL , lo que me lleva a creer que no son superconjuntos completos.
Estoy usando el siguiente fragmento, que se encuentra aquí :
function strcombinations(str) { var fn = function(active, rest, a) { if (!active && !rest) return; if (!rest) { a.push(active); } else { fn(active + rest[0], rest.slice(1), a); fn(active, rest.slice(1), a); } return a; } return fn("", str, []); }Puedo estar malinterpretando lo que es un superconjunto aquí, se agradece cualquier ayuda :)
Salud
//Lets Try this code. const getAllSubsets = theArray => theArray.reduce( (subsets, value) => subsets.concat( subsets.map(set => [value,...set]) ), [[]] ); console.log(getAllSubsets(['N','E','I','D','E','S','L']));