棧方法
棧是一種LIFO(last-in-first-out,后進(jìn)先出)的數(shù)據(jù)結(jié)構(gòu),也就是最新添加的項(xiàng)最早被移除。而棧中項(xiàng)的插入和移除,只發(fā)生在一個(gè)位置--棧的頂部。ECMAscript為數(shù)組專門提供了push()和pop()方法,以便實(shí)現(xiàn)類似棧的行為。
push()方法可以接收任意數(shù)量的參數(shù),把它們逐個(gè)添加到數(shù)組末尾,并返回修改數(shù)組的長(zhǎng)度。而pop()方法則從數(shù)組末尾移除最后一項(xiàng)。
隊(duì)列方法
隊(duì)列數(shù)據(jù)解構(gòu)的訪問(wèn)規(guī)則是FIFO(First-In-First-Out,先進(jìn)先出)。隊(duì)列在列表的末端添加項(xiàng),由于push()是向數(shù)組末端添加項(xiàng)的方法,因此要模擬隊(duì)列只需一個(gè)從數(shù)組前端取得項(xiàng)的方法。實(shí)現(xiàn)這一操作的數(shù)組方法就是shift()和push()方法,可以像使用隊(duì)列那樣使用數(shù)組。