亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

淺談javascript數(shù)組

時(shí)間:2020-06-19 10:03:27 JavaScript 我要投稿

淺談javascript數(shù)組

  在程序語(yǔ)言中數(shù)組的重要性不言而喻,JavaScript中數(shù)組也是最常使用的對(duì)象之一,數(shù)組是值的有序集合,由于弱類型的原因,JavaScript中數(shù)組十分靈活、強(qiáng)大,不像是Java等強(qiáng)類型高級(jí)語(yǔ)言數(shù)組只能存放同一類型或其子類型元素,JavaScript在同一個(gè)數(shù)組中可以存放多種類型的元素,而且是長(zhǎng)度也是可以動(dòng)態(tài)調(diào)整的,可以隨著數(shù)據(jù)增加或減少自動(dòng)對(duì)數(shù)組長(zhǎng)度做更改。

  首先,大概說(shuō)說(shuō)數(shù)組的基本用法。

  數(shù)組,即Array類型,是開(kāi)發(fā)中最常用的類型之一,javascript中的.數(shù)組和其他語(yǔ)言最大的區(qū)別就是每一項(xiàng)可以保存任何類型的數(shù)據(jù),而且數(shù)組的大小是可以動(dòng)態(tài)調(diào)整的,有點(diǎn)繞?看看代碼吧

  1、數(shù)組的創(chuàng)建:

  var arr=new Array(20);var arr1=["小傘",1,true,undefined,[2,"王"],""]

  第一行用數(shù)組構(gòu)造法創(chuàng)建了一個(gè)length值為20的數(shù)組,第二行用數(shù)組字面量表示法創(chuàng)建了一個(gè)多種數(shù)據(jù)類型并存的數(shù)組。

  第一行的方法有點(diǎn)小坑,括號(hào)里指定的是數(shù)組的長(zhǎng)度,而不是數(shù)組第一個(gè)元素是20 ,要想創(chuàng)建有一個(gè)元素是20的這么一個(gè)數(shù)組,還是用字面量法創(chuàng)建吧。

  還有一個(gè)小坑,看代碼

  var arr=[1,2,];var arr1=[,,,,,]

  第一行這句會(huì)在IE8以及之前版本中創(chuàng)建一個(gè)值分別為1,2,undefined的數(shù)組,其他瀏覽器會(huì)產(chǎn)生一個(gè)兩項(xiàng)分別是1,2的數(shù)組

  第二行同樣的可能會(huì)在不同瀏覽器上包含5項(xiàng)或者6項(xiàng)。(IE9以上修復(fù)了這個(gè)問(wèn)題,但還是不推薦這種寫(xiě)法)

  2、數(shù)組元素的基本操作

  js的數(shù)組非常的靈活,擁有很多數(shù)組元素操作的方法,但也有一些小坑,比如:

  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ì)給數(shù)組最后邊添加一個(gè)元素,得到的值可以看注釋,^_^

  也可以直接手動(dòng)在數(shù)組下標(biāo)拓展以為,如第三行,其實(shí)就相當(dāng)于push(4);

  那如果想在數(shù)組元素最前邊添加呢,別急,有unshift()方法。

  與此對(duì)應(yīng)的有刪除元素的pop()方法和shift()方法,分別和push(),unshift()對(duì)應(yīng),就不再贅述了。

  delect 運(yùn)算符對(duì)數(shù)組的操作不會(huì)刪除掉數(shù)組的元素,可以說(shuō)是用undefined來(lái)占個(gè)位子,和直接賦值是一樣的。

  3、稀疏數(shù)組

  稀疏數(shù)組是指數(shù)組的下標(biāo)并不是從0開(kāi)始,一般數(shù)組的長(zhǎng)度要比元素的個(gè)數(shù)要多:

  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中是因?yàn)閿?shù)組第1列是有值的,雖然是undefined,arr2只是指定了數(shù)組長(zhǎng)度,第1列還是沒(méi)有值,所以用in語(yǔ)句會(huì)返回false。arr3中給第第100個(gè)元素賦值后檢測(cè)是有值的,對(duì)其他列的key是沒(méi)有影響的,所以還是返回了false。

  以上所述是小編給大家介紹的Javascript數(shù)組的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我們留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)的支持!

【淺談javascript數(shù)組】相關(guān)文章:

1.javascript數(shù)組使用調(diào)用方法

2.JavaScript清空數(shù)組的方法

3.JavaScript數(shù)組常用方法介紹

4.javascript學(xué)習(xí)筆記--數(shù)組和對(duì)象

5.JavaScript中的索引數(shù)組、關(guān)聯(lián)數(shù)組和靜態(tài)數(shù)組、動(dòng)態(tài)數(shù)組的分類講

6.Javascript的常規(guī)數(shù)組和關(guān)聯(lián)數(shù)組的對(duì)比小結(jié)

7.javascript創(chuàng)建數(shù)組之聯(lián)合數(shù)組的使用方法

8.Javascript基礎(chǔ)教程之?dāng)?shù)組array