說到數據結構,對於前端來講其實接觸的不多,就好比說鏈表,前端是沒有的,可是經過Array
以及JavaScript
的內置api能夠知足鏈表的幾乎全部操做。雖然說如此,可是學習好數據結構對與咱們的往後開發確定是大有脾益的。甚至能夠發現,不少平常的操做,其實就是一些數據結構的映射。前端
接下來就讓我給你們介紹一下常見的八種數據結構。api
數據結構:計算機存儲、組織數據的方式,就像
鍋碗瓢盆。
markdown
後進先出
的數據結構。這就像咱們夾蜂窩煤同樣,後放的先拿出來。而放入的過程就是入棧,對應JavaScript
中的 push
操做。對應的拿出就是出棧操做啦。對應其中的 pop
。最後放入蜂窩煤的所在的位置就是對應的棧頂(top
)了。數據結構
在JavaScript
中是沒有棧的,可是能夠用 Array
實現棧的全部功能。併發
應用場景,好比函數的調用堆棧。app
function fun1() {
// 1 some codes
fun2()
// 2 some codes
}
function fun2() {
return "Hello Word"
}
fun1()
複製代碼
上述代碼,就是一個調用棧的過程,它會先調用 fun1
,再調用 fun2
,而 當 fun2
執行完以後,fun1
纔算執行完。異步
最後調用的函數,最早執行完。函數
push、 pop、 stack[stack.length - 1]
一樣在JavaScript
中也沒有隊列的,可是能夠用 Array
實現棧的全部功能。學習
應用場景,好比JS異步中的任務隊列。ui
JS是單線程,沒法同時處理異步中的併發任務。
使用任務隊列的方法前後處理異步任務。
push、 shift、 queue[0]
End!