关于javascript:js-数组全排列算法

      /**
       * @function 数组排列组合
       * [1,2,3] => 123 132 213 231 321 312
       */
      function permutationCombination(arr) {
        if (arr.length === 1) {
          return [arr];
        }

        const res = [];
        arr.forEach((val, index) => {
          const childArr = [...arr];
          childArr.splice(index, 1);

          res.push(
            ...permutationCombination(childArr).map(item => [val, ...item])
          );
        });

        return res;
      }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理