这不是排列,请参阅Wikipedia中的排列定义。
但是您可以通过 递归 实现:
var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']]function allPossibleCases(arr) { if (arr.length == 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var i = 0; i < allCasesOfRest.length; i++) { for (var j = 0; j < arr[0].length; j++) { result.push(arr[0][j] + allCasesOfRest[i]); } } return result; }}您也可以使用循环来实现,但是这会有些棘手,并且需要实现自己的堆栈模拟。



