JSFiddle - React, Tailwind, and code Playground
JavaScript
var input_arr = [1,2,3,4,5,6];
var exclude_index = [];
var prefix_arr = [];
function perm(arr, exclude_index, prefix_arr) {
if(prefix_arr.length == arr.length) {
///got an end
console.log(prefix_arr);
} else {
for(var i = 0; i < arr.length; i++) {
//select i from arr and place it in the new array
if(exclude_index.indexOf(i) != -1) {
continue;
}
var new_exclude_index = exclude_index.slice(0);
new_exclude_index.push(i);
var new_prefix_arr = prefix_arr.slice(0);
new_prefix_arr.push(arr[i]);
perm(arr, new_exclude_index, new_prefix_arr) ;
}
}
}
perm(input_arr, exclude_index, prefix_arr);