国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript數組的棧方法與隊列方法詳解

2019-11-20 09:54:04
字體:
來源:轉載
供稿:網友

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

1、Array的棧方法

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

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

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

2、Array的隊列方法

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


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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托克逊县| 岐山县| 哈尔滨市| 和硕县| 嘉禾县| 华安县| 大同县| 乐平市| 黎城县| 贡觉县| 阿巴嘎旗| 长武县| 崇礼县| 台东市| 水城县| 临颍县| 格尔木市| 星子县| 东安县| 什邡市| 界首市| 雷山县| 临泽县| 孟津县| 墨竹工卡县| 广东省| 融水| 舟山市| 闸北区| 房产| 陇南市| 桐乡市| 化隆| 惠东县| 汽车| 浦城县| 池州市| 辽阳县| 喀喇沁旗| 普兰店市| 台湾省|