编辑代码

var order = function(matrix) {
    let m = matrix.length
    let n = matrix[0].length
    let t=0,r=n-1,l=0,b=m-1;
    let res = []
    while(true) {
        let i,j;
        for(i=l;i<=r;i++) {
            res.push(matrix[t][i])
        }
        if(++t>b) break;     
        for(j=t;j<=b;j++) {
            res.push(matrix[j][r])
        }
        if(--r<l) break;   
        for(i=r;i>=l;i--) {
            res.push(matrix[b][i])
        }
        if(--b<t) break;  
        for(j=b;j>=t;j--) {
            res.push(matrix[j][l])
        }
        if(++l>r) break;
    }
    console.log(res)
    return res;
}
// order([[1,2,3],[4,5,6],[7,8,9]])
// order([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
// order([[6,9,7]])
order([[2,3,4],[5,6,7],[8,9,10],[11,12,13],[14,15,16]])
//2, 3, 4, 7, 10, 13, 16, 15, 14, 11, 8, 5, 6, 9, 12