首頁 >web前端 >js教程 >JavaScript有沒有二維數組

JavaScript有沒有二維數組

青灯夜游
青灯夜游原創
2021-06-22 18:09:212576瀏覽

JavaScript沒有二維陣列。 JavaScript中沒有二維數組的概念,但是可以設定數組元素的值等於數組,這樣就能模擬二維數組的結構;如果三維數組中每個元素的值也為數組,則可以模擬三維數組,以此類別推,透過數組嵌套的形式可以定義多維數組。

JavaScript有沒有二維數組

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JavaScript 並沒有直接支援二維數組,但可以設定數組元素的值等於數組,這樣就能模擬二維數組的結構。如果三維數組中每個元素的值也為數組,則可以模擬三維數組,以此類推,透過數組嵌套的形式可以定義多維數組。

範例1

下面定義一個二維陣列。

var a = [  //定义二维数组
    [1.1, 1.2],
    [2.1, 2.2]
];

範例2

下面範例使用巢狀 for 語句,把 1~100 的正數以二維數組的形式進行存儲,設計二維數列。

var a = [];
for (var i = 0; i < 10; i ++) {  //行循环
    var b = [];  //辅助数组
    for (var j = 0; j < 10; j ++) {  //列循环
        b[j] = i * 10 + j + 1;  //定义数组b的元素值
    }
    a[i] = b;  //把数组b赋值给数组a
}
console.log(a);  //返回1~100的二维数列

序列格式如下:

a = [
    [1,2,3,4,5,6,7,8,9,10],
    [11,12,13,14,15,16,17,18,19,20],
    [21,22,23,24,25,26,27,28,29,30],
    [31,32,33,34,35,36,37,38,39,40],
    [41,42,43,44,45,46,47,48,49,50],
    [51,52,53,54,55,56,57,58,59,60],
    [61,62,63,64,65,66,67,68,69,70],
    [71,72,73,74,75,76,77,78,79,80],
    [81,82,83,84,85,86,87,88,89,90],
    [91,92,93,94,95,96,97,98,99,100]
];

範例3

#JavaScript 不支援二維數組,使用者可以模仿二維陣列的語法格式來定義數組。下面的寫法在文法上雖然不符合規定,但是 JavaScript 也不會拋出例外。

var a = [];
a[0,0] = 1;
a[0,1] = 2;
a[1,0] = 3;
a[1,1] = 4;

如果呼叫 length 屬性,傳回值為 2,表示僅有兩個元素,分別讀取元素的值。

console.log(a.length);  //返回2,说明仅有两个元素有效
console.log(a[0]);  //返回3
console.log(a[1]);  //返回3

JavaScript 把二維數組的下標視為一個逗號表達式,其運算的回傳值是最後一個值。前面兩行程式碼賦值就被後面兩行程式碼賦值覆蓋了。因此,如果經過計算之後才確定了下標值,然後再進行存取操作,則可以如下進行設計。

var a = [], i = 1;  //初始化变量
while(i < 10) {  //指定循环次数
    a[i *= 2, i] = i;  //指定下标为2的幂数时才进行赋值
}
console.log(a.length);  //返回17
console.log(a);  //返回数组[,,2,,4,,,,8,,,,,,,,16]

【相關推薦:javascript學習教學

#

以上是JavaScript有沒有二維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn