當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS数组的数据结构
一、前言
當我們談到棧和隊列的時候,就會條件反射想起數據結構。在ECMAScript標準中,數組也是提供了類似于其他數據結構的方法,分別是棧方法和隊列方法。
二、棧方法
1. 定義
棧是一種后進先出的數據結構,也就是最新添加的項會被最早移除,如同堆疊烙餅一般。
棧中項的插入(又叫推入)和移除(又叫彈出)只發生在棧的頂部。
提供的棧方法有兩種,分別是push方法和pop方法。
- push方法:在數組末尾推入項,并返回修改后新數組的長度。
- pop方法:在數組末尾彈出項,數組的length值減一,并返回移除的項。
2. 示例
var arr = []; // push方法 var count = arr.push('A', 'B'); console.log(count); // 2 console.log(arr); // ["A","B"] count = arr.push('C'); console.log(count); // 3 // pop方法 var item = arr.pop(); console.log(item); // "C" console.log(arr.length); // 2 復制代碼三、隊列方法
1. 定義
隊列數據結構的訪問規則是先進先出,排在前一個的比后一個先出去,就像子彈出膛一般。
插入和移除的操作位置發生在隊伍的頭部。
提供的隊列方法有兩種,分別是unshift方法和shift方法。
- unshift方法:在數組前端添加項,并返回新數組的長度
- shift方法:在數組前端刪除項,數組的length值減一,并返回刪除的項
2. 示例
var arr = ['A','B','C']; // unshift方法 var count = arr.unshift('a'); console.log(count); // 4 console.log(arr); // ["a", "A", "B", "C"] // shift方法 var item = arr.shift(); console.log(item); // "a" console.log(arr.length); // 3 復制代碼四、本節思維導圖
源碼地址:github.com/Knight174/M…總結
- 上一篇: 结合zxing 和zbar 扫一扫
- 下一篇: JS中的prototype、__prot