function spiral(n){
    var arr = [],count = n*n,num = 1,
        start = 0,end = n-1;       
    for(var k=0;k<n;k++){
        arr[k] = [];
    }
    while(start < end){
        for(var j = start; j < end +1 ;j ++){
            arr[start][j] = num ++;
        }
        for(var i = start + 1; i < end +1;i ++){
            arr[i][end] = num ++;
        }
        for(var y = end - 1; y > start - 1;y --){
            arr[end][y] = num ++;
        }
        for(var x = end - 1; x > start;x --){
            arr[x][start] = num ++;
        }
        start += 1;
        end -= 1;
        if(start == end){
            arr[start][end] = count;
        }
    }
    return arr;
}