- 相關(guān)推薦
淺談javascript數組
在程序語(yǔ)言中數組的重要性不言而喻,JavaScript中數組也是最常使用的對象之一,數組是值的有序集合,由于弱類(lèi)型的原因,JavaScript中數組十分靈活、強大,不像是Java等強類(lèi)型高級語(yǔ)言數組只能存放同一類(lèi)型或其子類(lèi)型元素,JavaScript在同一個(gè)數組中可以存放多種類(lèi)型的元素,而且是長(cháng)度也是可以動(dòng)態(tài)調整的,可以隨著(zhù)數據增加或減少自動(dòng)對數組長(cháng)度做更改。
首先,大概說(shuō)說(shuō)數組的基本用法。
數組,即Array類(lèi)型,是開(kāi)發(fā)中最常用的類(lèi)型之一,javascript中的數組和其他語(yǔ)言最大的區別就是每一項可以保存任何類(lèi)型的數據,而且數組的大小是可以動(dòng)態(tài)調整的,有點(diǎn)繞?看看代碼吧
1、數組的創(chuàng )建:
var arr=new Array(20);var arr1=["小傘",1,true,undefined,[2,"王"],""]
第一行用數組構造法創(chuàng )建了一個(gè)length值為20的數組,第二行用數組字面量表示法創(chuàng )建了一個(gè)多種數據類(lèi)型并存的數組。
第一行的方法有點(diǎn)小坑,括號里指定的是數組的長(cháng)度,而不是數組第一個(gè)元素是20 ,要想創(chuàng )建有一個(gè)元素是20的這么一個(gè)數組,還是用字面量法創(chuàng )建吧。
還有一個(gè)小坑,看代碼
var arr=[1,2,];var arr1=[,,,,,]
第一行這句會(huì )在IE8以及之前版本中創(chuàng )建一個(gè)值分別為1,2,undefined的數組,其他瀏覽器會(huì )產(chǎn)生一個(gè)兩項分別是1,2的數組
第二行同樣的可能會(huì )在不同瀏覽器上包含5項或者6項。(IE9以上修復了這個(gè)問(wèn)題,但還是不推薦這種寫(xiě)法)
2、數組元素的基本操作
js的數組非常的靈活,擁有很多數組元素操作的方法,但也有一些小坑,比如:
var arr=[];arr[0]=1;arr[1]=2;arr、push(3); //arr=[1,2,3]arr[arr、length]=4; //arr=[1,2,3,4]arr、unshift(0); //arr=[0,1,2,3,4];delect arr[2]; //arr=[0,1,undefined,3,4]arr[0]=undefined //arr=[undefined,1,undefined,3,4]
push()方法會(huì )給數組最后邊添加一個(gè)元素,得到的值可以看注釋?zhuān)琟_^
也可以直接手動(dòng)在數組下標拓展以為,如第三行,其實(shí)就相當于push(4);
那如果想在數組元素最前邊添加呢,別急,有unshift()方法。
與此對應的有刪除元素的pop()方法和shift()方法,分別和push(),unshift()對應,就不再贅述了。
delect 運算符對數組的操作不會(huì )刪除掉數組的元素,可以說(shuō)是用undefined來(lái)占個(gè)位子,和直接賦值是一樣的。
3、稀疏數組
稀疏數組是指數組的下標并不是從0開(kāi)始,一般數組的長(cháng)度要比元素的個(gè)數要多:
var arr1=[undefined];var arr2=new Array(1);0 in arr1; //true0 in arr2; //falsevar arr3=new Array(100);arr3[99]="賦值";99 in arr3; //true98 in arr3; //false
arr1中是因為數組第1列是有值的,雖然是undefined,arr2只是指定了數組長(cháng)度,第1列還是沒(méi)有值,所以用in語(yǔ)句會(huì )返回false。arr3中給第第100個(gè)元素賦值后檢測是有值的,對其他列的key是沒(méi)有影響的,所以還是返回了false。
以上所述是小編給大家介紹的Javascript數組的相關(guān)知識,希望對大家有所幫助,如果大家有任何疑問(wèn)請給我們留言,小編會(huì )及時(shí)回復大家的。在此也非常感謝大家對的支持!
【淺談javascript數組】相關(guān)文章:
JavaScript清空數組的方法08-05
JavaScript數組常用方法介紹09-04
javascript數組使用調用方法11-05
JavaScript中的索引數組、關(guān)聯(lián)數組和靜態(tài)數組、動(dòng)態(tài)數組的分類(lèi)講09-23
Javascript的常規數組和關(guān)聯(lián)數組的對比小結05-02
javascript創(chuàng )建數組之聯(lián)合數組的使用方法08-30