const stringPermutations: string[] = (str: string) => {
        if (str.length <= 2) return str.length === 2 ? [str, str[1] + str[0]] : [str];
        return str
          .split('')
          .reduce(
            (acc, letter, i) =>
              acc.concat(
                stringPermutations(str.slice(0, i) + str.slice(i + 1)).map(
                  val => letter + val
                )
              ),
            []
          );
      };
      
      Typescript language logo

      String permutations

      Codiga's TypeScript Recipes

      Generates all permutations of a string (contains duplicates).

      0 Comments

        Add Comment

        Log in to add a comment

        Codiga - All rights reserved 2022.