資源描述:
《javascript中的數(shù)組常用方法解析_javascript技巧》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Javascript中的數(shù)組常用方法解析刖SArray是Javascript構(gòu)成的一個(gè)重要的部分,它可以用來存儲(chǔ)字符串、對象、函數(shù)、Number,它是非常強(qiáng)大的。因此深入了解是前端必修的功課。周五啦,博主的心又開始澎湃了,明兒個(gè)周末有木有,又可以愉快的玩耍了。創(chuàng)建數(shù)組創(chuàng)建數(shù)組的基木方式有兩種,一種字面量,另一種使用構(gòu)造函數(shù)創(chuàng)建:vararr二[1,2,3];〃字面量的形式創(chuàng)建數(shù)組值與值之間用英文逗號隔開vararr=[1,2,3];〃字面量的形式創(chuàng)建數(shù)組值與值Z間用英文逗號隔開vararrl=newArray(1
2、,2,3);//構(gòu)造函數(shù)創(chuàng)建數(shù)組通過new操作符創(chuàng)建一個(gè)Array對彖//另外你也可以省略new操作符盡管多數(shù)時(shí)候不建議這么做vararrl=Array(1,2,3);省略new操作符創(chuàng)建一個(gè)Array對象這種語法與php就十分相似只是它的鍵在javascript中是不可以指定的數(shù)組的索引:值對以字而量為例,每一個(gè)數(shù)組項(xiàng)都冇一個(gè)對應(yīng)的鍵,也可以稱為【下標(biāo)】、【索弓I】javascript里默認(rèn)的鍵從0開始累計(jì)依照數(shù)組項(xiàng)的位置確定它的鍵名,通過鍵名查詢數(shù)組項(xiàng)的值,一般的語法為array[1]:ncllo,java,
3、script」;//對應(yīng)的鍵名為0,1,2console.log(sarr[0]);//hello將數(shù)組打印到Firefox控制臺中,在控制臺就可以很清晰的看到它們對應(yīng)的關(guān)系:控制臺毋調(diào)試器?網(wǎng)絡(luò)理I?CSS?JS?安全?日志(D?服務(wù)器⑸清空?控制臺右側(cè)非常直觀列出了鍵與值的邏輯關(guān)系0對應(yīng)hello、1對應(yīng)java、2對應(yīng)script,更通俗的講javascript數(shù)組計(jì)數(shù)是從0開始的【0-1-2】二二【1-2-3】第一個(gè)是hello第二個(gè)是java第三個(gè)是script;每一個(gè)數(shù)組都有一個(gè)長度,沒有值為0,通過
4、Array,length方法獲取,上圖的長度為3,在控制臺右側(cè)也叮以清晰的看到,另外介紹一個(gè)小技巧,F(xiàn)irefox控制臺console列出的屈性列表大部分是可以直接訪問的你可以通過[Array,length]號訪問也可以通過鍵的形式訪問【Array['length']】;數(shù)組的length屬性很有特點(diǎn)它不是只讀的。所以,可以通過設(shè)置這個(gè)屬性,可以從數(shù)組的末尾移除項(xiàng)或者向數(shù)組屮添加新項(xiàng),栗子:varcolors=['rcd,,'blue','green'];〃創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組colors.length=
5、2;alert(colors[2]);//undefined不存在上栗刪除了數(shù)組的最后一項(xiàng)'green'還可以添加:varcolors=['rcd,,'blue','green'];〃創(chuàng)建一個(gè)包含3個(gè)字符串的數(shù)組colors[colors,length]='black,;//colors的初始length為3這段代碼等價(jià)于colors[3]='black';alert(colors[3]);//black小技巧1:那么問題來了,小伙伴們有時(shí)候敲著敲著突然忘記了某個(gè)屈性名,怎么搞?將它打印到Firefox控制臺啊看
6、看它的屈性以location對象為例console,log(location):console.log(location);E3?BHIO□x性7:?▼Location—demo.html二assign:assignOhash:""fiIhost:"localhost"fiIhostname:"localhost"href:Rhttp://localho...demo/demo.htmrorigin:Hhttp://localhostRpathname:"/demo/demo.htmrport:""fi
7、prot
8、ocol:"http:"?reload:reloadQ?replace:replaceQsearch:""toJSON:undefinedfiNtoString:toStringO卜valueOf:valueOfQoroto:LocationPrototvoe拿到了這個(gè),我們想拿到某個(gè)值是不是容易很多了呢比如,拿到當(dāng)前的"1地址[location,href]拿到域名[location,hostname】等等,或者你要拿到window±的方法,此類同理,非常方便;數(shù)組棧什么是數(shù)組棧?意思就是數(shù)組可以表現(xiàn)的向棧一樣(
9、屁話)那什么是棧?代碼中的理解是,棧是一種可以限制插入和刪除項(xiàng)的數(shù)據(jù)結(jié)構(gòu),棧是一種LIFO(Last-In-FIRST-Out后進(jìn)先岀),也就是最新添加的項(xiàng)最早被移除,最早添加的項(xiàng)在棧的底部,看圖:數(shù)組colors類似于積木,下面的積木總是最后才能拿到的,放在新的地方,就形成了一個(gè)【?!吭跀?shù)組棧屮拿岀來叫【彈出】放進(jìn)去叫【推入】在javascript數(shù)組中有兩個(gè)方法【彈出