let n = 3;
let m = 4;
let flag = true;
let num = 1;
let workSpace = [];
let outArr = [];
for (let i = 0; i < n; i++) {
  workSpace[i] = [];
}
for (let i = 0; i < n; i++) {
  for (let j = 0; j < m; j++) {
    workSpace[i][j] = num++;
  }
}
console.log(workSpace);
function check(flag, n, m) {
  if (n == 0) {
    return;
  } else if (m == 0) {

  } else if (flag) {
    for (let i = 0; i < n; i++) {
      outArr.push(workSpace[i][0]);
      workSpace[i].shift();
      if (i === n - 1) {
        for (let j = 0; j < m - 1; j++) {
          outArr.push(workSpace[i][j]);
        }
      }
    }
    workSpace.pop();
    check(!flag, n - 1, m - 1);
  } else {
    for (let i = n - 1; i >= 0; i--) {
      outArr.push(workSpace[i][m - 1]);
      workSpace[i].pop();
      if (i === 0) {
        for (let j = m - 2; j >= 0; j--) {
          outArr.push(workSpace[i][j]);
        }
      }
    }
    workSpace.shift();
    check(!flag, n - 1, m - 1);
  }
}
check(flag, n, m);
console.log(outArr);
这个第一题,啥原因啊,