欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript數(shù)組的棧方法與隊列方法詳解

 更新時間:2016年05月26日 16:26:48   作者:鱷山維蝦殼集思園  
這篇文章主要介紹了JavaScript數(shù)組的棧方法與隊列方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

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

1、Array的棧方法

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

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

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

2、Array的隊列方法

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


這里寫圖片描述
這里寫圖片描述

var students = [];
students.push("bluce","jordan","marlon","kobe");//入隊4項
//students=["bluce","jordan","marlon","kobe"];
alert(students.length);   //4
alert(students[0]);     //"bluce",第一項在棧的底部
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ù)組前端添加任意個項并返回新數(shù)組的長度。因此,結合使用unshift()和pop()方法,可以從相反的方向來模擬隊列,即在數(shù)組的前端添加項,從數(shù)組末端移除項

相關文章

  • 將字符串中由空格隔開的每個單詞首字母大寫

    將字符串中由空格隔開的每個單詞首字母大寫

    這篇文章主要介紹了如何將字符串中的每個單詞的首字母變?yōu)榇髮?需要的朋友可以參考下
    2014-04-04
  • JavaScript 高性能數(shù)組去重的方法

    JavaScript 高性能數(shù)組去重的方法

    這篇文章主要介紹了JavaScript 高性能數(shù)組去重的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • JavaScript中Array功能方法詳解

    JavaScript中Array功能方法詳解

    Array?對象是前端開發(fā)中使用頻率最高的數(shù)據(jù)結構之一,今天我們來復習一下它的幾種操作方法,find(),some()和filter(),通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Mock.js的安裝與使用教程(擺脫后端同學的束縛)

    Mock.js的安裝與使用教程(擺脫后端同學的束縛)

    Mock功能可以根據(jù)接口/數(shù)據(jù)結構定義、Mock規(guī)則配置、Mock?期望配置,自動生成模擬數(shù)據(jù),且使用者可以根據(jù)需要靈活構造各種結構的接口數(shù)據(jù),下面這篇文章主要給大家介紹了關于Mock.js的安裝與使用的相關資料,需要的朋友可以參考下
    2022-08-08
  • javascript相等運算符與等同運算符詳細介紹

    javascript相等運算符與等同運算符詳細介紹

    不管是java、c++、php都有相等運算符與等同運算符,當然javasript也不例外,下面介紹一下
    2013-11-11
  • 原生js實現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果

    原生js實現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果

    本文主要介紹了原生js實現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果的實例代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • JS庫之Particles.js中文開發(fā)手冊及參數(shù)詳解

    JS庫之Particles.js中文開發(fā)手冊及參數(shù)詳解

    因為自己需要做產(chǎn)品,所以一個好的UI界面也是很重要的,發(fā)現(xiàn)這種散射的原子顆粒特效還不錯。今天腳本之家小編把Particles.js中文開發(fā)手冊及particles.js參數(shù)分享給大家,需要的朋友參考下吧
    2017-09-09
  • js保存當前路徑(cookies記錄)

    js保存當前路徑(cookies記錄)

    曾經(jīng)做了一個取消訂單的功能。這個功能在個人中心里面有,在訂單的詳細頁面也有。按照正常的思路,這兩塊都可以提交到相同的action去處理,但是返回的頁面是不一樣的,都是返回到當前頁面就可以了。
    2010-12-12
  • JS類的定義與使用方法深入探索

    JS類的定義與使用方法深入探索

    這篇文章主要介紹了JS類的定義與使用方法,結合實例形式深入分析了javascript類的定義與屬性、方法的調用技巧,需要的朋友可以參考下
    2016-11-11
  • 不用ajax實現(xiàn)點擊文字即可編輯的方法

    不用ajax實現(xiàn)點擊文字即可編輯的方法

    本文給大家分享一段代碼不使用ajax實現(xiàn)點擊文字即可編輯的方法,代碼簡單易懂,需要的朋友參考下吧
    2007-12-12

最新評論