编写返回字母不同组合的函数

时间:2019-01-07 16:25:15

标签: javascript

我正在经历一些挑战,我需要一些帮助来解决这一挑战。我应该编写函数permutations(string)来返回给定字符串的所有排列的数组。

   permutations('a'); // ['a']
   permutations('ab'); // ['ab', 'ba']
   permutations('aabb'); // ['aabb', 'abab', 'abba', 'baab', 'baba', 'bbaa']

1 个答案:

答案 0 :(得分:0)

let permutation = str => {
    let array = [...str];
    let resultado = [];
    for(let i = 0; i< array.length; i++){
        let temp = array.filter((q,c,y)=> c != i);
        for(x = 0; x < array.length; x++)
        {
          let temp2 = temp.slice(0);
          temp2.splice(x,0,array[i]);
          resultado.push(temp2);
        }
    }
    return [...new Set(resultado.map(item => item.join('')))]
}

console.log(permutation('abbb'));

那是长格式。它不仅仅需要减少代码的大小。