![碎片时间学编程「65]:生成数组元素的所有排列(包含重复项)](https://p6.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/5c9d513413f844128e87fa20ea77c80f.png?from=pc)
编辑切换为居中
添加图片注释,不超过 140 字(可选)
JavaScript
const permutations = arr => {
if (arr.length <= 2) return arr.length === 2 ? [arr, [arr[1], arr[0]]] : arr;
return arr.reduce(
(acc, item, i) =>
acc.concat(
permutations([...arr.slice(0, i), ...arr.slice(i + 1)]).map(val => [
item,
...val,
])
),
[]
);
};更多内容请访问我的网站:https://www.icoderoad.com
| 留言与评论(共有 0 条评论) “” |