JS數組的數據結構

1、前言

當咱們談到棧和隊列的時候,就會條件反射想起數據結構。在ECMAScript標準中,數組也是提供了相似於其餘數據結構的方法,分別是棧方法隊列方法javascript


2、棧方法

1. 定義

棧是一種後進先出的數據結構,也就是最新添加的項會被最先移除,如同堆疊烙餅通常。前端

棧中項的插入(又叫推入)和移除(又叫彈出)只發生在棧的頂部java

提供的棧方法有兩種,分別是push方法和pop方法。git

  • 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
複製代碼

3、隊列方法

1. 定義

隊列數據結構的訪問規則是先進先出,排在前一個的比後一個先出去,就像子彈出膛通常。github

插入和移除的操做位置發生在隊伍的頭部數組

提供的隊列方法有兩種,分別是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
複製代碼

4、本節思惟導圖

源碼地址: github.com/Knight174/M…
相關文章
相關標籤/搜索