String permutations

    0

    0

    Giovanny Gongora

    Codiga's TypeScript Recipes

    Generates all permutations of a string (contains duplicates).

    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
              )
            ),
          []
        );
    };
    
    Codiga Logo
    Codiga Hub
    • Rulesets
    • Explore
    • Cookbooks
    • Playground
    soc-2 icon

    We are SOC-2 Compliance Certified

    G2 high performer medal

    Codiga – All rights reserved 2022.