我如何通过js打印数组中的所有case元素

how I can print all case element in array by js

我有数组[1,2,3,4]

我想打印所有组合,例如:

[1]
[2]
[3]
[4]
[1,2]
[1,2,3]
[1,2,3,4]
[2,3]
[2,3,4]
[3,4]
[1,3]
[1,3,4]
[1,4]
[2,4]

我该怎么做?

这很容易递归地做:

function printCombinations(arr, prefix) {
  if (arr.length == 0) {
    if (prefix.length > 0) {
      console.log(prefix);
    }
    return;
  }
  prefix = prefix || [];
  printCombinations(arr.slice(1), prefix.concat(arr[0]));
  printCombinations(arr.slice(1), prefix);
}

printCombinations([1, 2, 3, 4]);