首頁 >web前端 >js教程 >JS數組學習之一維和二維數組的創建和訪問

JS數組學習之一維和二維數組的創建和訪問

青灯夜游
青灯夜游原創
2021-08-17 12:14:342785瀏覽

在先前的文章《JS數組學習之清空全部元素的4種方法(程式碼詳解)》中,我們刪除全部數組元素--即清空數組的4種方法。以下繼續JavaScript數組的學習,我們來聊聊一維數組、二維數組的創建和訪問,並擴充一下簡單聊聊多維數組。

首先我們來看看一維數組是如何被建立和存取的。

一維陣列的建立與存取

一維陣列有兩種建立方法:「陣列直接量」和「 Array()函數」。

1、陣列直接量「[]

1) 我們可以直接使用「[]」來給一個變數賦值,在「[]」中可以是空的,那麼就是定義空數組:

var a = [];  //空数组

使用數組的length屬性來取得數組長度,回傳值會為0。

console.log(a.length);

JS數組學習之一維和二維數組的創建和訪問

此時我們可以使用陣列名[下標]=值 的形式給空數組賦值

a[0]=1;
a[1]="hello";

JS數組學習之一維和二維數組的創建和訪問

陣列下標不只是可以是數字,也可以為文字字串,那麼此時陣列就是一個關聯數組

a["姓名"]="张三";
a["年龄"]=23;

JS數組學習之一維和二維數組的創建和訪問

如果陣列的下標值超出範圍,如負數、浮點數、布林值、物件或其他值,JavaScript 會自動將它轉換為字串,並定義為關聯陣列。

2)也可以直接定義陣列並初始化

直接在「[]」中包含多個值列表,數值之間用逗號分隔即可。

var a = [1, 2, 3];  //包含具体元素的数组

使用陣列的length屬性來取得陣列長度,傳回值就是具體定義的陣列元素數量。

JS數組學習之一維和二維數組的創建和訪問

2、使用#new Array()建構陣列

1)如果直接呼叫Array() 函數,不傳遞參數,可以建立一個空數組。

var a = new Array();  //空数组

使用陣列的length屬性來取得陣列長度,傳回值會為0。

JS數組學習之一維和二維數組的創建和訪問

2)如果呼叫Array() 函數時,傳遞多個值(值之間用逗號分隔),可以建立一個實數組。

var a = new Array(1,2,3);

3)如果呼叫Array() 函數時,只傳遞一個數值參數,那麼就表示只定義了陣列的長度,即包含元素的個數;陣列元素為空,每個元素的值預設值為 undefined。 (數組中元素值沒有定義,語法上兩個逗號之間沒有任何值的元素,被稱為空位元素)

var a = new Array(3);

JS數組學習之一維和二維數組的創建和訪問

像這種包含一個或多個空位元素的數組,也稱為空位數組。

var a = [1, , 2];
var a = [1, 2, 3];
delete a[1];

也可產生空位元素,形成空位數群組。

3、存取陣列

#存取陣列就是存取陣列元素。我們可以使用 數組名[下標表達式] 的形式來進行訪問,讀寫數組。

註:下標表達式是值為非負整數的表達式。

例如上文的 

delete a[1]

就是使用delete關鍵字刪除a數組中下標示為1的元素(即刪除第二個元素)。

還有:

var a = [];  //空数组
a[0]=1;
a[2]="hello";

就是分別為a數組中下標為0和2的元素賦值,下標為1的元素的值沒有賦值則為undefined。我們想要輸出指定陣列元素時,也可使用這種形式

console.log(a[0]);  //读取第一个元素,返回值为1
console.log(a[1]);  //读取第二个元素,返回值为undefined
console.log(a[2]);  //读取第三个元素,返回值为hello

JS數組學習之一維和二維數組的創建和訪問

#二維陣列的建立與存取

JavaScript 並沒有直接支援二維數組,但可以設定數組元素的值等於數組,這樣就能模擬二維數組的結構。

1、定義二維陣列

#定義二維陣列的方法1:

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

定義二維陣列的方法2:

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

JS數組學習之一維和二維數組的創建和訪問

#

定义二维数组的方法3:

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

JS數組學習之一維和二維數組的創建和訪問

按照这种思想,如果二维数组中每个元素的值也为数组,则可以模拟三维数组,以此类推,通过数组嵌套的形式可以定义多维数组。

2、访问二维数组

访问二维数组甚至三维数组、多维数组的方法,和访问一维数组的方法一样,都是使用中括号进行访问:

数组名[下标表达式1] [下标表达式2]

数组名[下标表达式1] [下标表达式2] [下标表达式3]

...

数组名[下标表达式1] [下标表达式2] [下标表达式3]...[下标表达式N]

更高维度的数组以此类推。

好了,就说到这里了,有需要的可以看:javascript高级教程

以上是JS數組學習之一維和二維數組的創建和訪問的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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