Hola chicos, desafortunadamente, mi función funciona solo con la primera letra, por ejemplo, si quiero obtener el índice de permutación 16 de la entrada 'abcd', obtuve 'cabd' en lugar de 'cbda', me refiero al índice c en su lugar, pero no encontré un forma de voltear los casos 'abd', no sé si puedo recordar la función cortando por uno (llamada recursiva), por favor, cómo puedo mejorarla
function permutationByNumber(str,index) { const strr = str.split('').sort().join('') function fac(integ){ // i made this factorial function to get all factorial numbers if(integ==1) return 1 return integ*fac(integ-1) } let count = 0 // i made this count variable by increasing it by one in each time the loop iterate for(let i=fac(strr.length)/strr.length ;i<=fac(strr.length);i+=fac(strr.length)/strr.length){ if(i>=index){ break } count++ } let rest = strr.slice(0,count) + strr.slice(count+1) return strr[count] + rest } console.log(permutationByNumber('abcd',16))