淺談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) }
總結
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!