JS数组poppush,shiftunshift方法

JavaScript08

JS数组poppush,shiftunshift方法,第1张

队列是常见的使用数组方法之一。在计算机科学中,这表示支持两个操作的一个有序元素的集合:

push 在末端添加一个元素。

shift 取出队列首端的一个元素,整个队列往前移,这样原先排第二的元素现在排在了第一。

这两种操作数组都支持。

队列的应用在实践中经常碰到。例如需要在屏幕上显示消息队列。

数组还有另外一个用例,就是数据结构 栈 。

栈支持两种操作:

push 在末端添加一个元素。

pop 从末端取出一个元素。

所以新元素的添加和取出都是从“末端”开始的。

栈通常被形容成一叠卡片:要么在最上面添加卡片,要么从最上面拿走卡片:

对于栈来说,最后放进去的内容是最先接收的,也叫做 LIFO (Last-In-First-Out) ,即后进先出法则。而与队列相对应的 FIFO (First-In-First-Out) ,即先进先出。

JavaScriptt 中的数组既可以用作队列,也可以用作栈。它们允许你从 首端/末端 来 添加/删除 元素。

在计算机科学中,允许这样操作的数据结构被称为 双端队列。

pop

//取出并返回数组的最后一个元素:

push

//在数组末端添加元素:

调用 fruits.push(...)   与 fruits[fruits.length] = ... 是一样的。

shift

//取出数组的第一个元素并返回它:

unshift

//在数组的首端添加元素:

push 和 unshift 方法都可以一次添加多个元素:

毫无疑问,使用pop,unshift可以达到你的目的,但算是比较复杂了!

个人觉得应该还有更简便的方法:

// 右移

"abcde".replace(/^(.*?)(.{1})$/, "$2$1") // eabcd

// 左移

"abcdef".replace(/^(.{1})(.*)$/, "$2$1") // bcdefa

希望是你想要的结果~~

1、push() 结尾添加

数组.push(元素)

        参数                                         描述

newelement1必需。   要添加到数组的第一个元素。

newelement2可选。   要添加到数组的第二个元素。

newelementX可选。   可添加多个元素。

2、unshift() 头部添加

数组.unshift(元素)

       参数                                   描述

newelement1必需。    向数组添加的第一个元素。

newelement2可选。    向数组添加的第二个元素。

newelementX可选。    可添加若干个元素。

3、splice() 方法向/从数组指定位置添加/删除项目,然后返回被删除的项目。

          参数                           描述

index必需。                     整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany必需。             要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX可选。   向数组添加的新项目。