栈是一种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改变了原来的数组,都返回一个数组,若是是删除,则返回被删除的项,若是没有删除任何项,则返回空数组函数