棧是一種LIFO(Last-In-First-Out,後進先出)的數據結構。前端
如: var arr = []; arr.push('a', 'b'); //2 arr.pop(); //b
隊列是一種FIFO(First-In-First-Out)的數據結構數組
如: var arr = ['a', 'b']; arr.shift(); //a arr.unshift('c', 'd'); //3
如: var arr = [1,4,12,3]; arr.reverse(); //[3,12,4,1] arr.sort(); //[1,12,3,4]
sort能夠接受一個比較函數做爲參數。比較函數接收兩個參數,若是第一個參數應該位於第二個以前,返回負值,若是相等返回0,不然返回正數數據結構
如: var compare = function (v1, v2) { if(v1 < v2){ return -1; }else if (v1 === v2) { return 0; } else{ return 1; } }; arr.sort(compare); //[1,3,4,12]
注意,concat、slice不會改變原數組的值,都返回一個新的數組。splice改變了原來的數組,都返回一個數組,若是是刪除,則返回被刪除的項,若是沒有刪除任何項,則返回空數組函數