ECMAScript數(shù)組也提供了一種讓數(shù)組的行為類似于其他數(shù)據(jù)結(jié)構(gòu)的方法。具體說來,數(shù)組可以表現(xiàn)得就像棧一樣,后者是一種可以限制插入和刪除項的數(shù)據(jù)結(jié)構(gòu)。棧是一種LIFO (last-in-first-out盾進先出)的數(shù)據(jù)結(jié)構(gòu),也就是最新添加的項最早被移除。而棧中項的插入(叫做推入)和移除(叫做彈出),只發(fā)生在一個位置——棧的頂部。ECMAScript為數(shù)組專門提供了push()和pop()方法, 以便實現(xiàn)類似棧的行為。
push()方法可以接收任意數(shù)量的參數(shù),把它們逐個添加到數(shù)組末尾,并返回修改后數(shù)組的長度而pop()方法則從數(shù)組末尾移除最后一項,減少數(shù)組的length值,然后返回移除的項。請看下面的例子:
var colors=new Array(); //創(chuàng)建一個數(shù)組
var count=colors.push( "red","green"); //推入兩項
alert(count); //2
count=colors.push("black"); //推入另一項
alert(count); //3
var item=colors.pop(); //取得最后一項
alert (item); //"black"
alert( colors .length); //2
以上代碼中的數(shù)組可以看成是棧(代碼本身沒有任何區(qū)別;而push()和pop()都是數(shù)組默認(rèn)的方法)。首先,南昌網(wǎng)頁設(shè)計公司工程師使用push()將兩個字符串推人數(shù)組的末尾,并將返回的結(jié)果保存在變量count中值為2)。然后,再推入一個值,而結(jié)果仍然保存在count中。因為此時數(shù)組中包含3項,所以push()返回3。在調(diào)用pop()時,它會返回數(shù)組的最后一項,即字符串"black"。此后,數(shù)組中僅剩兩項。
可以將棧方法與其他數(shù)組方法連用,像下面這個例子一樣:
var colors=["red", "blue"];
colors.push("brown"); //添加另一項
colors[3]="black"; //添加一項
alert( colors .length); //4
var item=colors.pop(); //取得最后一項
alert (item); //"black"
在此,南昌建網(wǎng)站公司工程師首先用兩個值來初始化一個數(shù)組。然后,使用push()添加第三個值,再通過直接在位置3上賦值來添加第四個值。而在調(diào)用pop()時,該方法返回了字符串"black",即最后一個添加到數(shù)組的值。
希望本文對廣大站長或從事企業(yè)網(wǎng)站建設(shè)公司的團隊有所幫助,如對此不太理解的,可以與南昌做網(wǎng)站公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗。