最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1、Array的棧方法

棧是一種LIFO(Last-In-First-Out,后進先出)的數(shù)據(jù)結(jié)構(gòu),也就是最新添加的項最早被移除。棧中項的插入(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ù)結(jié)構(gòu)的訪問規(guī)則是LIFO(后進先出),而隊列數(shù)據(jù)結(jié)構(gòu)的訪問規(guī)則是FIFO(First-In-First-Out,先進先出)。隊列在列表的末端添加項,從列表的前端移除項。push()方法是向數(shù)組末端添加項的方法,因此要模擬隊列只需一個從數(shù)組前端取得項的方法——shift(),其能夠移除數(shù)組中的第一個項并返回該項,同時數(shù)組的length-1。結(jié)合使用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ù)組的長度。因此,結(jié)合使用unshift()和pop()方法,可以從相反的方向來模擬隊列,即在數(shù)組的前端添加項,從數(shù)組末端移除項

相關(guān)文章

  • 第九章之路徑分頁標(biāo)簽與徽章組件

    第九章之路徑分頁標(biāo)簽與徽章組件

    Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。本文給大家介紹路徑分頁標(biāo)簽與徽章組件,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • Cookie 注入是怎樣產(chǎn)生的

    Cookie 注入是怎樣產(chǎn)生的

    現(xiàn)在很多網(wǎng)站都加了防注入系統(tǒng)代碼,你輸入注入語句將無法注入~~感覺這樣的防注入系統(tǒng)不錯,但防注入系統(tǒng)沒有注意到 Cookies 的問題!所以就有了Cookies注入~~
    2009-04-04
  • 深入理解JavaScript系列(6) 強大的原型和原型鏈

    深入理解JavaScript系列(6) 強大的原型和原型鏈

    JavaScript 不包含傳統(tǒng)的類繼承模型,而是使用 prototypal 原型模型
    2012-01-01
  • 使用JavaScript開發(fā)IE瀏覽器本地插件實例

    使用JavaScript開發(fā)IE瀏覽器本地插件實例

    這篇文章主要介紹了使用JavaScript開發(fā)IE瀏覽器本地插件實例,本文講解使用JS+注冊表的方式開發(fā)一個IE瀏覽器本地插件,需要的朋友可以參考下
    2015-02-02
  • JavaScript async/await原理及實例解析

    JavaScript async/await原理及實例解析

    這篇文章主要介紹了JavaScript async/await原理及實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • javascript 中按屬性值查找數(shù)組中的對象多種方法

    javascript 中按屬性值查找數(shù)組中的對象多種方法

    JavaScript 數(shù)組可以保存混合類型的不同值,例如字符串、空值或布爾值,并且不需要數(shù)組的大小來指定它在哪里自動增長和動態(tài),這篇文章主要介紹了javascript 中按屬性值查找數(shù)組中的對象多種方法,需要的朋友可以參考下
    2023-06-06
  • js獲取url傳值的方法

    js獲取url傳值的方法

    這篇文章主要介紹了js獲取url傳值的方法,實例分析了字符串分割與正則分析兩種方法,并補充了一個基于正則匹配實現(xiàn)的js獲取url的get傳值函數(shù),需要的朋友可以參考下
    2015-12-12
  • js實現(xiàn)Element中input組件的部分功能并封裝成組件(實例代碼)

    js實現(xiàn)Element中input組件的部分功能并封裝成組件(實例代碼)

    這篇文章主要介紹了純生js實現(xiàn)Element中input組件的部分功能(慢慢完善)并封裝成組件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • JS如何獲取URL中的Query參數(shù)

    JS如何獲取URL中的Query參數(shù)

    這篇文章主要介紹了JS如何獲取URL中的Query參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 簡單實現(xiàn)bootstrap選項卡效果

    簡單實現(xiàn)bootstrap選項卡效果

    這篇文章主要為大家詳細(xì)介紹了如何簡單實現(xiàn)bootstrap選項卡效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

澄迈县| 义马市| 秦皇岛市| 正阳县| 阜南县| 萨嘎县| 随州市| 沙雅县| 杨浦区| 利川市| 江陵县| 西昌市| 崇州市| 治多县| 前郭尔| 四平市| 莆田市| 灵璧县| 吉水县| 齐河县| 凌海市| 屏边| 庆城县| 河北区| 区。| 专栏| 黎平县| 南木林县| 武定县| 新兴县| 福安市| 寿阳县| 连州市| 黑河市| 北碚区| 霍邱县| 金堂县| 阿拉善右旗| 宁陕县| 锦州市| 辉县市|