JavaScript數(shù)組的棧方法與隊(duì)列方法

    時(shí)間:2024-08-19 09:57:28 JavaScript 我要投稿
    • 相關(guān)推薦

    JavaScript數(shù)組的棧方法與隊(duì)列方法

      JavaScript數(shù)組的棧方法與隊(duì)列方法

      數(shù)組(Array)和對(duì)象(Object)應(yīng)該是JavaScript中使用最多也是最頻繁的兩種類型了,Array提供了很多常用的方法:棧方法、隊(duì)列方法、重排序方法、操作方法、位置方法、迭代方法等等。

      1、Array的棧方法

      棧是一種LIFO(Last-In-First-Out,后進(jìn)先出)的數(shù)據(jù)結(jié)構(gòu),也就是最新添加的項(xiàng)最早被移除。棧中項(xiàng)的插入(push)和移除,只發(fā)生在一個(gè)位置——棧的頂部。ECMAScript為數(shù)組提供了push()和pop()方法,可以實(shí)現(xiàn)類似棧的行為。下面兩圖分別演示了入棧與出棧操作。

      push()方法可以接收任意數(shù)據(jù)的參數(shù),把它們逐個(gè)添加到數(shù)組末尾,并返回修改后的數(shù)組長(zhǎng)度。pop()方法從數(shù)組末尾移除最后一項(xiàng),減少數(shù)組的length值

      var students = [];students.push("bluce","jordan","marlon","kobe");//入棧4項(xiàng)alert(students.length); //4alert(students[0]); //"bluce",第一項(xiàng)在棧的底部alert(students[1]); //"jordan"students.push("paul");alert(students.length); //5var item = students.pop(); //"paul"alert(students.length); //4

      2、Array的隊(duì)列方法

      棧數(shù)據(jù)結(jié)構(gòu)的訪問(wèn)規(guī)則是LIFO(后進(jìn)先出),而隊(duì)列數(shù)據(jù)結(jié)構(gòu)的訪問(wèn)規(guī)則是FIFO(First-In-First-Out,先進(jìn)先出)。隊(duì)列在列表的末端添加項(xiàng),從列表的前端移除項(xiàng)。push()方法是向數(shù)組末端添加項(xiàng)的方法,因此要模擬隊(duì)列只需一個(gè)從數(shù)組前端取得項(xiàng)的方法——shift(),其能夠移除數(shù)組中的第一個(gè)項(xiàng)并返回該項(xiàng),同時(shí)數(shù)組的length-1。結(jié)合使用shift()和push()方法,可以像使用隊(duì)列一樣使用數(shù)組。

      var students = [];students.push("bluce","jordan","marlon","kobe");//入隊(duì)4項(xiàng)//students=["bluce","jordan","marlon","kobe"];alert(students.length); //4alert(students[0]); //"bluce",第一項(xiàng)在棧的底部alert(students[1]); //"jordan"students.push("paul");alert(students.length); //5//students=["bluce","jordan","marlon","kobe","paul"];var item = students.shift(); //"bluce"alert(students.length); //4//students=["jordan","marlon","kobe","paul"];

      此外,ECMAScript還提供了unshift()方法,它能在數(shù)組前端添加任意個(gè)項(xiàng)并返回新數(shù)組的長(zhǎng)度。因此,結(jié)合使用unshift()和pop()方法,可以從相反的方向來(lái)模擬隊(duì)列,即在數(shù)組的前端添加項(xiàng),從數(shù)組末端移除項(xiàng)

    【JavaScript數(shù)組的棧方法與隊(duì)列方法】相關(guān)文章:

    JavaScript數(shù)組常用方法介紹09-04

    JavaScript常用方法匯總10-25

    javascript跨域訪問(wèn)的方法07-09

    javascript編程異常處理的方法08-04

    JavaScript fontcolor方法入門(mén)實(shí)例07-07

    Java數(shù)組操作方法大全08-22

    使用ajax操作JavaScript對(duì)象的方法09-28

    c語(yǔ)言字符數(shù)組使用方法10-14

    詳解JavaScript中的splice()使用方法08-20

    關(guān)于javascript尋找錯(cuò)誤方法整理05-23

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲福利网入口久久 | 亚洲视频精品在线人 | 亚洲精品国产二区在线观看 | 六月丁香婷婷亚洲中文字幕 | 亚洲日韩精品第一页一区 | 曰本A∨久久综合久久 |