代码
let permutate = str => {
str = str.split('');
let copy = (obj) => {
let result = obj instanceof Array ? [] : {};
for (const [k, v] of Object.entries(obj)) {
result[k] = typeof v == 'object' ? copy(v) : v;
}
return result;
};
let generate = (str, result) => {
if (str.length === 0) {
result = result.join('');
console.log(result);
return true;
}
for (const key in str) {
let temp = copy(str);
let ch = temp.splice(key, 1);
let r = [...result, ...ch];
generate(temp, r);
}
};
return generate(str, []);
};
运行结果
![运行结果](https://i-blog.csdnimg.cn/blog_migrate/08f4cb3ebbc2445b79161377a2eec3ec.png)