91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript怎么生成二維數組

發布時間:2023-03-25 14:32:08 來源:億速云 閱讀:253 作者:iii 欄目:開發技術

今天小編給大家分享一下JavaScript怎么生成二維數組的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    JavaScript生成二維數組

    方法一 

    new Array(x).fill(new Array(y).fill(0))

    但注意,當一個對象被傳遞給fill方法時,填充數組的是這個對象的引用。

    即二維數組的第一個維度中的每一個數組都指向同一個引用,如果向第一個維度中的任一元素執行push,則每一個二維中都會多一個元素。

    方法二

    new Array(x).fill().map(() => new Array(y).fill(0))

    方法三

    Array.from(new Array(x), () => new Array(y).fill(0))

    測試代碼:

        const arr1 = new Array(2).fill(new Array(3).fill(0))
        // arr1: [ [ 0, 0, 0 ], [ 0, 0, 0 ] ]
        arr1[0].push(9)
        // arr1: [ [ 0, 0, 0, 9 ], [ 0, 0, 0, 9 ] ] 
    
        const arr2 = new Array(2).fill().map(() => new Array(3).fill(0))
        // arr2: [ [ 0, 0, 0 ], [ 0, 0, 0 ] ]
        arr2[0].push(9)
        // arr2: [ [ 0, 0, 0, 9 ], [ 0, 0, 0 ] ] 
    
        const arr3 = Array.from(new Array(2), () => new Array(3).fill(0))
        // arr3: [ [ 0, 0, 0 ], [ 0, 0, 0 ] ]
        arr3[0].push(9)
        // arr3: [ [ 0, 0, 0, 9 ], [ 0, 0, 0 ] ]

    JS中創建二維數組的坑

    JS中二維數組的創建

    首先JavaScript只支持 一維數組 ,但我們可以通過一些方法實現矩陣以及多維數組

    其中普通的創建方法并不會出現什么問題:

    (1) 利用一維數組嵌套一維數組的方式創建二維數組:

    let arr = [] ;
    a[0] = [1,2,3,4,5,6];
    a[1] = [10,20,30,40,50,60]

    然后使用一個 雙層for循環 就可以迭代這個二維數組中的元素

    所以用這種方法創建多維數組,不管有幾個維度,都可以通過嵌套循環來遍歷

    遇到問題的方法:

      let arr1= new Array(10).fill(new Array(10).fill(0))

    控制臺打印arr1

    JavaScript怎么生成二維數組

    這時候,若你想設置,arr[0][0] = 1,你會發現二維數組所有子數組的第一項都被改為1

    JavaScript怎么生成二維數組

    原因

    JavaScript怎么生成二維數組

    綜上,還是選擇老實一點的創建方法:

    var a = new Array();
    
    for(var i=0;i<5;i++){        //一維長度為5
    
        a[i] = new Array();
    
        for(var j=0;j<5;j++){    //二維長度為5
    
        	a[i][j] = 0;
       }
    
    }

    以上就是“JavaScript怎么生成二維數組”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    邛崃市| 沽源县| 延吉市| 蒲江县| 吴忠市| 凌源市| 台安县| 平舆县| 仁化县| 江孜县| 闵行区| 民和| 灵武市| 神木县| 丰都县| 固阳县| 沈丘县| 沛县| 连城县| 库伦旗| 临邑县| 会泽县| 曲靖市| 梓潼县| 犍为县| 那曲县| 卢湾区| 介休市| 航空| 陇川县| 辰溪县| 太湖县| 涞水县| 凤阳县| 富平县| 故城县| 正定县| 沛县| 黎城县| 台江县| 玉龙|