Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="CycleJS template">
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.0.6/rx.all.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/cyclejs-core/6.0.0/cycle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/cyclejs-dom/9.0.2/cycle-dom.min.js"></script>
<script src="https://rawgit.com/cyclejs/cycle-http-driver/v7.0.0/dist/cycle-http-driver.min.js"></script>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  
  <title>JS Bin</title>
</head>
<body>
</body>
</html>
 
function swap(arr, a, b) {
  var tmp = arr[a];
  arr[a] = arr[b];
  arr[b] = tmp;
  return arr;
}
function generate(n, arr) {
  if (n === 1) {
    console.log(arr);
  } else {
    for (var i = 0; i < n - 1; i = i + 1) {
      generate(n - 1, arr);
      if (n % 2 === 0) {
        arr = swap(arr, i, n-1);
      } else {
        arr = swap(arr, 0, n-1);
      }
    }
    generate(n - 1, arr);
  }
}
let arr = ['a', 'b', 'c', 'd'];
arr = generate(4, arr);
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
khlepro
0viewers