javascript返回字符串的所有排列

来源:互联网 发布:arduino 网络模块 编辑:程序博客网 时间:2024/06/11 03:27

需求

返回一个字符串所有的排列

输入:一个字符串
输出:一个包含该字符串所有排列情况的数组

代码

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

效果

这里写图片描述

一点思路

递归、长度为阶乘