js push(),pop(),shift(),unshift()

以前没有太在意这些,这几天看《Javascript 设计模式与开发实践》(不得不说这是一本好书)

发现总是会用到这几个函数,可是有什么区别呢??

简单来说是两套东西(数据结构时老师详细的讲过,可以回头再温习下):

1、队列:  先进先出    用的是  push() ,pop()  push()都在后面  pop() 都从后面开始弹出;

2、堆栈:  后进先出 用的是  unshift(),shift()      unshift()放在前面,shift(),从前面开始弹出;

如下:

<script type="text/javascript">
                
                var myArr=[1,2,3];
                function doOnLoad() {
                    alert(myArr);  // 1,2,3
                    Array.prototype.push.call(myArr,4);
                    alert(myArr);  // 1,2,3,4
                    Array.prototype.pop.call(myArr);
                    alert(myArr);  // 1,2,3
                    Array.prototype.unshift.call(myArr,5);
                    alert(myArr);  // 5,1,2,3
                    Array.prototype.shift.call(myArr);
                    alert(myArr);  // 1,2,3
                }
            </script>
原文地址:https://www.cnblogs.com/ssqhan/p/7566677.html