• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    在JavaScript中如何定義及輸出螺旋矩陣

    來源:懂視網 責編:小采 時間:2020-11-27 19:35:28
    文檔

    在JavaScript中如何定義及輸出螺旋矩陣

    在JavaScript中如何定義及輸出螺旋矩陣:這篇文章主要介紹了JavaScript定義及輸出螺旋矩陣的方法,簡單描述了螺旋矩陣的概念、原理并結合實例形式分析了javascript定義與輸出螺旋矩陣的具體操作技巧,需要的朋友可以參考下本文實例講述了JavaScript定義及輸出螺旋矩陣的方法。分享給大家供大家參考,具
    推薦度:
    導讀在JavaScript中如何定義及輸出螺旋矩陣:這篇文章主要介紹了JavaScript定義及輸出螺旋矩陣的方法,簡單描述了螺旋矩陣的概念、原理并結合實例形式分析了javascript定義與輸出螺旋矩陣的具體操作技巧,需要的朋友可以參考下本文實例講述了JavaScript定義及輸出螺旋矩陣的方法。分享給大家供大家參考,具
    這篇文章主要介紹了JavaScript定義及輸出螺旋矩陣的方法,簡單描述了螺旋矩陣的概念、原理并結合實例形式分析了javascript定義與輸出螺旋矩陣的具體操作技巧,需要的朋友可以參考下

    本文實例講述了JavaScript定義及輸出螺旋矩陣的方法。分享給大家供大家參考,具體如下:

    昨晚無意看到這樣一個算法題目,然后就想著用js來實現。
    昨晚草草寫完后感覺代碼很丑,很臭,于是今晚又花點時間重構了一下,感覺變得優雅了。

    什么是螺旋矩陣

    螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此循環。

    如圖:

    實現效果

    實現代碼

    (function() {
     var map = (function() {
     function map(n) {
     this.map = [], this.row = 0, this.col = -1, this.dir = 0, this.n = n;
     // 建立個二維數組
     for (var i = 0; i < this.n; i++) { this.map.push([]); }
     // 定義移動的順序為 右,下,左,上
     var order = [this.right, this.bottom, this.left, this.up];
     i = 0;
     do {
     // 能移動則更新數字,否則更改方向
     order[this.dir % 4].call(this) ? i++ : this.dir++;
     // 賦值
     this.map[this.row][this.col] = i;
     } while (i < n * n);
     }
     map.prototype = {
     print: function() { for (var i = 0; i < this.n; i++) { console.log(this.map[i].join(' ')) } },
     // 向該方向移動
     left: function() { return this.move(this.row, this.col - 1); },
     right: function() { return this.move(this.row, this.col + 1); },
     up: function() { return this.move(this.row - 1, this.col); },
     bottom: function() { return this.move(this.row + 1, this.col); },
     // 如果坐標在范圍內,并且目標沒有值,條件滿足則更新坐標
     move: function(row, col) {
     return (0 <= row && row < this.n) && (0 <= col && col < this.n) && !this.map[row][col] && (this.row = row, this.col = col, true);
     },
     };
     return map;
     })();
     new map(6).print();
    })();

    上面是我整理給大家的,希望今后會對大家有幫助。

    相關文章:

    使用微信小程序如何實現圖片選擇區域裁剪

    在vue中有關eventbus的詳細解讀

    在Angular中如何使用toDoList

    在React Native中如何使用Fetch發送網絡請求

    在vue中如何實現當前頁面分享其他頁面功能

    在Vue中如何實現按需加載

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    在JavaScript中如何定義及輸出螺旋矩陣

    在JavaScript中如何定義及輸出螺旋矩陣:這篇文章主要介紹了JavaScript定義及輸出螺旋矩陣的方法,簡單描述了螺旋矩陣的概念、原理并結合實例形式分析了javascript定義與輸出螺旋矩陣的具體操作技巧,需要的朋友可以參考下本文實例講述了JavaScript定義及輸出螺旋矩陣的方法。分享給大家供大家參考,具
    推薦度:
    標簽: js 輸出 javascript
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 青草青草久热精品视频在线网站| 国内少妇偷人精品视频免费| 亚洲一区精品无码| 亚洲精品免费观看| 精品无码人妻一区二区三区| 热综合一本伊人久久精品| 中文精品一卡2卡3卡4卡| 国产精品免费看久久久| 野狼精品社区| 久久夜色撩人精品国产小说| segui久久国产精品| 97精品一区二区视频在线观看| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国产精品乱伦| 国产精品久久久久AV福利动漫| 亚洲AV永久无码精品一区二区国产| 久久91精品久久91综合| 国产精品无码无需播放器| 国内精品视频在线观看| 亚洲综合av永久无码精品一区二区| av国内精品久久久久影院| 中文字幕久久精品无码| 精品无码人妻一区二区三区不卡| 精品久久久久久国产| 国产成人精品一区二区三区免费| 亚洲精品乱码久久久久久自慰| 免费视频成人国产精品网站| 精品伦精品一区二区三区视频| 亚洲精品私拍国产福利在线| 国产日韩精品在线| 国产精品久久精品| 国产精品成人va| 国产精品九九九久久九九| 成人国产精品高清在线观看| 999在线视频精品免费播放观看 | 久久精品www人人爽人人| 无码人妻精品一区二区| 久久亚洲精品人成综合网| 精品9E精品视频在线观看 | 欧美国产精品久久高清| 欧美国产精品va在线观看|