前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js实现01数字矩阵

js实现01数字矩阵

作者头像
RobinsonZhang
发布2018-08-28 13:02:49
5.9K0
发布2018-08-28 13:02:49
举报

场景

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

代码

代码语言:javascript
复制
// 假设num都是奇数
function printMap(num){
  // 圈数
  let circleNum=parseInt(num/2)
  let lineNum=num
  var 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:0
  arr[circleNum][circleNum]=cenStr
  arr.forEach(row => {
    console.log(row.join(" "))
  });
}
// num(几行),circleIndex(第几圈),arr 需要操作的多维数组
function drawCircle(num,circleIndex,arr){
    var str=circleIndex%2==0?0:1
    var optStr=str==0?1:0
    // 上边
    var upNum=num-circleIndex
    for(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)

codepen案例

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
  • 代码
  • codepen案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档