场景
实现01的奇数矩阵实现下图规律的环绕。

代码
// 假设num都是奇数function printMap(num){// 圈数let circleNum=parseInt(num/2)let lineNum=numvar arr=[]// 初始化多维数组for(let t=0;t<num;t++){arr[t]=[]}// 绘制圈数 循环for(var i=1;i<=circleNum;i++){drawCircle(num,i,arr)}// 中心点var cenStr=circleNum%2==0?1:0arr[circleNum][circleNum]=cenStrarr.forEach(row => {console.log(row.join(" "))});}// num(几行),circleIndex(第几圈),arr 需要操作的多维数组function drawCircle(num,circleIndex,arr){var str=circleIndex%2==0?0:1var optStr=str==0?1:0// 上边var upNum=num-circleIndexfor(let i=circleIndex-1;i<=upNum;i++){arr[circleIndex-1][i]=str}// 右边for(let i=circleIndex;i<=upNum;i++){arr[i][num-circleIndex]=str}// 下边for(let i=circleIndex-1;i<=upNum;i++){arr[num-circleIndex][i]=str}// 左边for(let i=circleIndex;i<=upNum-1;i++){// 如果是第一个 是特别的另类字符if(i==circleIndex){arr[i][circleIndex-1]=optStr}else{// 否则 是其他的arr[i][circleIndex-1]=str}}}printMap(5)
