function allSubsequences(index, tempArr, arr, n) {
    if (index == n) {
        console.log(tempArr);
        return;
    }
 
    tempArr.push(arr[index]);
    allSubsequences(index + 1, tempArr, arr, n);
    tempArr.pop();
    allSubsequences(index + 1, tempArr, arr, n);
}
 
let arr = [3, 1, 2];
let tempArr = [];
allSubsequences(0, tempArr, arr, arr.length)