最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript如何生成二維數(shù)組

 更新時間:2023年03月24日 10:20:28   作者:shangdong2023  
這篇文章主要介紹了JavaScript如何生成二維數(shù)組問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JavaScript生成二維數(shù)組

方法一 

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

但注意,當(dāng)一個對象被傳遞給fill方法時,填充數(shù)組的是這個對象的引用。

即二維數(shù)組的第一個維度中的每一個數(shù)組都指向同一個引用,如果向第一個維度中的任一元素執(zhí)行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中創(chuàng)建二維數(shù)組的坑

JS中二維數(shù)組的創(chuàng)建

首先JavaScript只支持 一維數(shù)組 ,但我們可以通過一些方法實(shí)現(xiàn)矩陣以及多維數(shù)組

其中普通的創(chuàng)建方法并不會出現(xiàn)什么問題:

(1) 利用一維數(shù)組嵌套一維數(shù)組的方式創(chuàng)建二維數(shù)組:

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

然后使用一個 雙層for循環(huán) 就可以迭代這個二維數(shù)組中的元素

所以用這種方法創(chuàng)建多維數(shù)組,不管有幾個維度,都可以通過嵌套循環(huán)來遍歷

遇到問題的方法:

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

控制臺打印arr1

請?zhí)砑訄D片描述

這時候,若你想設(shè)置,arr[0][0] = 1,你會發(fā)現(xiàn)二維數(shù)組所有子數(shù)組的第一項都被改為1

請?zhí)砑訄D片描述

原因

請?zhí)砑訄D片描述

綜上,還是選擇老實(shí)一點(diǎn)的創(chuàng)建方法:

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;
   }

}

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)圖片壓縮功能

    微信小程序?qū)崿F(xiàn)圖片壓縮功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片壓縮功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • JavaScript基于Dom操作實(shí)現(xiàn)查找、修改HTML元素的內(nèi)容及屬性的方法

    JavaScript基于Dom操作實(shí)現(xiàn)查找、修改HTML元素的內(nèi)容及屬性的方法

    這篇文章主要介紹了JavaScript基于Dom操作實(shí)現(xiàn)查找、修改HTML元素的內(nèi)容及屬性的方法,涉及javascript dom模型及事件響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • ES6中如何使用Set和WeakSet

    ES6中如何使用Set和WeakSet

    這篇文章主要為大家詳細(xì)介紹了ES6中如何使用Set和WeakSet的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 微信小程序?qū)崿F(xiàn)圖片翻轉(zhuǎn)效果的實(shí)例代碼

    微信小程序?qū)崿F(xiàn)圖片翻轉(zhuǎn)效果的實(shí)例代碼

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)圖片翻轉(zhuǎn)效果的實(shí)例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 教你如何通過JavaScript讀取元素的樣式

    教你如何通過JavaScript讀取元素的樣式

    這篇文章主要給大家介紹了關(guān)于如何通過JavaScript讀取元素的樣式,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • 使用cypress編寫第一個測試用例

    使用cypress編寫第一個測試用例

    這篇文章主要為大家介紹了使用cypress編寫第一個測試用例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 微信小程序?qū)崿F(xiàn)手機(jī)獲取驗(yàn)證碼倒計時60s

    微信小程序?qū)崿F(xiàn)手機(jī)獲取驗(yàn)證碼倒計時60s

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)手機(jī)獲取驗(yàn)證碼后倒計時60s,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 樹結(jié)構(gòu)之JavaScript

    樹結(jié)構(gòu)之JavaScript

    本文主要介紹了JavaScript樹結(jié)構(gòu)的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • IE8 chrome中table隔行換色解決辦法

    IE8 chrome中table隔行換色解決辦法

    今天把項目生成好后,發(fā)布到萬維網(wǎng)上進(jìn)行測試,發(fā)現(xiàn)table的隔行換色在IE8,chorem中不能正常顯示。找了許多資料,CSS看樣是不能解決,只能用JS來控制了
    2010-07-07
  • 原生js開發(fā)的日歷插件

    原生js開發(fā)的日歷插件

    本文主要分享了原生js開發(fā)的日歷插件的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論

绥阳县| 长子县| 枞阳县| 观塘区| 英超| 锡林郭勒盟| 会同县| 玉树县| 肥城市| 汉寿县| 许昌市| 邵阳市| 颍上县| 黑河市| 博野县| 平谷区| 金塔县| 张家川| 茂名市| 珠海市| 泰州市| 家居| 额济纳旗| 平阳县| 朝阳区| 洛川县| 吉林市| 江安县| 南丹县| 佛山市| 镇雄县| 澜沧| 河源市| 泸水县| 南丰县| 南平市| 菏泽市| 南郑县| 托克逊县| 治县。| 秦皇岛市|