淺談JavaScript數(shù)組簡介
數(shù)組簡介
數(shù)組(Array) - 數(shù)組也是一個對象
它和我們普通對象功能類似,也是用來儲存一些值的
不同的是普通對象是使用字符串作為屬性值的,而數(shù)組時使用數(shù)字來作為索引操作元素。
索引:從0開始的整數(shù)
數(shù)組的儲存性能比普通對象要好,在開發(fā)中我們經(jīng)常使用數(shù)組來儲存一些數(shù)據(jù)
創(chuàng)建數(shù)組:
var arr = new Array();
使用 typeof檢查一個數(shù)組時,會返回 object

向數(shù)組中添加元素
語法: 數(shù)組[索引] = 值
讀取數(shù)組中的元素
語法: 數(shù)組[索引]
如果讀取不存在的索引,它也不會報錯而是返回 undefined
獲取數(shù)組的長度
可以使用 length屬性來獲取數(shù)組的長度(元素的個數(shù))
語法: 數(shù)組.length
對于連續(xù)的數(shù)組,使用 length可以獲取到數(shù)組的長度(元素的個數(shù))
對于非連續(xù)的數(shù)組,使用 length會獲取到數(shù)組的最大的索引+1
盡量不要創(chuàng)建非連續(xù)的數(shù)組。
修改 length
如果修改的 length小于原長度,則多出來部分會空出來
如果修改的 length小于原長度,則多出的元素會被刪除
向數(shù)組最后一個位置添加元素
語法: 數(shù)組[數(shù)組.length] = 值
arr[arr.length] = 70; arr[arr.length] = 80; arr[arr.length] = 90;
數(shù)組字面量
使用數(shù)組字面量創(chuàng)建數(shù)組
語法:[]
var arr = [] ;
使用字面量創(chuàng)建數(shù)組時,可以在創(chuàng)建時就指定數(shù)組中的元素
var arr = [1,2,3,4,5];
使用構(gòu)建函數(shù)創(chuàng)建數(shù)組時,也可以同時添加元素,將要添加的元素作為構(gòu)建函數(shù)的參數(shù)傳遞,元素之間使用,隔開
var arr = new Array(1,2,3,4,5);
注意:
用[]創(chuàng)建一個數(shù)組數(shù)組中一個元素10
var arr = [10];

使用構(gòu)建函數(shù)創(chuàng)建數(shù)組一個參數(shù)時,是創(chuàng)建一個長度為10的空數(shù)組;
var arr = new Array(10);
console.log(arr);
console.log("arr.length="+arr.length);

數(shù)組中可以是任意的數(shù)據(jù)類型
var arr = ["孫悟空", 1, true, null, undefined]; console.log(arr);

可以是對象
var arr = [{name:"孫悟空"}, {name:"豬八戒"}, {name:"沙悟凈"}];
console.log(arr[0].name);

可以是函數(shù)
var arr = [
function () { alert(1) },
function () { alert(2) }];
通過arr[0]()調(diào)動函數(shù)

二維數(shù)組
創(chuàng)建:
使用[]
var arr = [[1,2,3],[4,5,6],[7,8,9]]; //3行3列的二維數(shù)組
使用new Array
var a = new Array( new Array(10,20,30), new Array(11,22,33), new Array(45,56,67) )
元素的訪問 數(shù)組名[行下標(biāo)][列下標(biāo)]
(1)二維數(shù)組的轉(zhuǎn)置:
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("轉(zhuǎn)置前:\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("轉(zhuǎn)置后:",res);

(2)定義一個二維數(shù)組,輸出這個數(shù)組的每行元素的最大值
var str = ''
for(var i=0;i<a.length;i++){ //外循環(huán):a.length表示二維數(shù)組的行數(shù)
for(var j=0;j<a[i].length;j++){ //內(nèi)循環(huán):a[i].length表示i行的元素個數(shù)(列數(shù))
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)
}

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JavaSacript中charCodeAt()方法的使用詳解
這篇文章主要介紹了JavaSacript中charCodeAt()方法的使用詳解,是JS入門學(xué)習(xí)中的基本知識,需要的朋友可以參考下2015-06-06
JavaScript fontsize方法入門實例(按照指定的尺寸來顯示字符串)
這篇文章主要介紹了JavaScript fontsize方法入門實例,fontsize方法用于按照指定的尺寸來顯示字符串,需要的朋友可以參考下2014-10-10
JavaScript表達(dá)式:URL 協(xié)議介紹
javascript:后面可以是表達(dá)式或者使用分號分隔的表達(dá)式集合如javascript: 5 + 4,感興趣的朋友可以參考下或許可以幫助到你2013-03-03
JavaScript字符串對象substring方法入門實例(用于截取字符串)
這篇文章主要介紹了JavaScript字符串對象substring方法入門實例,substring方法通過指定開始和結(jié)束位置來截取字符串,需要的朋友可以參考下2014-10-10
javascript setTimeout和setInterval 的區(qū)別
window對象有兩個主要的定時方法,分別是setTimeout 和 setInteval 他們的語法基本上相同,但是完成的功能取有區(qū)別。2009-12-12
JavaScript初學(xué)者建議:不要去管瀏覽器兼容
如果可以回到過去的話,我會告訴自己這句話:初學(xué)JavaScript的時候無視DOM和BOM的兼容性,先了解一些基礎(chǔ)知識最后再考慮兼容性2014-02-02

