JSFiddle - React, Tailwind, and code Playground

by sandfresh

JavaScript

function permutator(inputArr) {
  var results = [];

  function permute(arr, memo) {
    var cur, memo = memo || [];

    for (var i = 0; i < arr.length; i++) {
      cur = arr.splice(i, 1);
       console.log(cur,memo)
      if (arr.length === 0) {
        results.push(memo.concat(cur));
        console.log(results.slice())
      }
       console.log("permute")
      permute(arr.slice(), memo.concat(cur));
      arr.splice(i, 0, cur[0]);
    }
 console.log("back")
    return results;
  }

  return permute(inputArr);
}
permutator([1,2,3])