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

青灯夜游
發布: 2021-08-17 12:15:59
原創
2653 人瀏覽過

在先前的文章《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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!