1. 程式人生 > 程式設計 >淺談JavaScript陣列簡介

淺談JavaScript陣列簡介

目錄TaMpW
  • 陣列簡介
  • 陣列字面量
  • 二維陣列
  • 總結

陣列簡介

陣列Array) - 陣列也是一個物件

它和我們普通物件功能類似,也是用來儲存一些值的

不同的是普通物件是使用字串作為屬性值的,而陣列時使用數字來作為索引操作元素。

索引:從0開始的整數

陣列的儲存效能比普通物件要好,在開發中我們經常使用陣列來儲存一些資料

建立陣列:

var arr = new Array();
使用 typeof檢查一個數組時,會返回 object

在這裡插入圖片描述

向陣列中新增元素

語法: 陣列[索引] = 值

讀取陣列中的元素

語法: 陣列[索引]

如果讀取不存在的索引,它也不會報錯而是返回 undefined

獲取陣列的長度

可以使用 length屬性來獲取陣列的長度(元素的個數)

語法: 陣列.length

對於連續的陣列,使用 length可以獲取到陣列的長度(元素的個數)

對於非連續的陣列,使用 length會獲取到陣列的最大的索引+1

儘量不要建立非連續的陣列。

修改 length

如果修改的 length小於原長度,則多出來部分會空出來

如果修改的 length小於原長度,則多出的元素會被刪除

向陣列最後一個位置新增元素

語法: 陣列[陣列.length] = 值

arr[arr.length] = 70;
arr[arr.length] = 80;
arr[arr.length] = 90;
www.cppcns.com

陣列字面量

使用陣列字面量建立陣列

語法:[]

var arr = [] ;

使用字面量建立陣列時,可以在建立時就指定陣列中的元素

var arr = [1,2,3,4,5];

使用構建函式建立陣列時,也可以同時新增元素,將要新增的元素作為構建函式的引數傳遞,元素之間使用,隔開

var arr = new Array(1,5);

注意:

用[]建立一個數組陣列中一個元素10

var arr = [10];

在這裡插入圖片描述

使用構建函式建立陣列一個引數時,是建立一個長度為10的空陣列;

var arr = new Array(10);
console.log(arr);
console.log("arr.length=http://www.cppcns.com
"+arr.length);

在這裡插入圖片描述

陣列中可以是任意的資料型別

var arr = ["孫悟空",1,true,null,undefined];
console.log(arr);

在這裡插入圖片描述

可以是物件

var arr = [{name:"孫悟空"},{name:"豬八戒"},{name:"沙悟淨"}];
console.log(arr[0].name);

在這裡插入圖片描述

可以是函式

var arr = [
    function () { alert(1) },function () { alert(2) }];

通過arr[0]()調動函式

在這裡插入圖片描述

二維陣列

建立:

使用[]

var arr = [[1,3],[4,5,6],[7,8,9]]; 
//3行3列的二維陣列

使用new Array

  var a = new Array(
			new Array(10,20,30),new Array(11,22,33),new Array(45,56,67)
		)

元素的訪問 陣列名[行下標][列下標]

(1)二維陣列的轉置:

var a = [
    ['a','b','c'],['d','e','f'],['g','h','i'],['i','k','I']
]
var str = ''
for(var i=0;i<a.length;i++){
    for(var j=0;j<a[i].length;j++){
        str += a[i][j]+'\t';
    }
    str += '客棧n';
}
console.log("轉置前:\n",str);
var res = []
for(var i=0;i<a[0].length;i++){
    res[i] = []
    for(var j=0;j<a.length;j++){
        res[i][j] = a[j][i];
    }
}
console.log("轉置後:",res);

在這裡插入圖片描述

(2)定義一個二維陣列,輸出這個陣列的每行元素的最大值

var str = ''
for(var i=0;i<a.length;i++){ //外迴圈:a.length表示二維陣列的行數
    for(var j=0;j<a[i].length;j++){ //內迴圈:a[i].length表示i行的元素個數(列數)
        str += a[i][j]+'\t'
    }
    str += '\n'; //在每行的末尾新增換行符
}
console.log(str);
for(var i=0;i<a.length;i++){
    var max = a[i][0]
    for(var j=1;j<a[i].length;j++){
        if(max<a[i][j]){
            max = a[i][j];
        }
    }
    console.log("第"+(i+1)+"行的最大值是:"+max)
}

在這裡插入圖片描述

總結

本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!