JS 数组的 push 与 concat 区别

JavaScript09

JS 数组的 push 与 concat 区别,第1张

1、功能不同

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

concat()() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

2、函数不同

push() :

var a = [1,2,3,4]

a.push(5)  //a 现在是1,2,3,4,5

concat() :

var a = [1,2,3,4]

var b = [5,6]

var c = a.concat(b) // a,b 数组都不变,c变成了1,2,3,4,5,6

扩展资料:

push是一个汇编术语,实现压入操作的指令是PUSH指令,实现弹出操作的指令是POP指令。

push() 说明

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

concat() 返回值

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

例子

把 concat() 中的参数连接到数组 a 中:

<script type="text/javascript">

var a = [1,2,3]

document.write(a.concat(4,5))

</script>

输出:1,2,3,4,5

参考资料来源: 百度百科-push (汇编术语)

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

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 方法都可以一次添加多个元素:

本文实例讲述了JS数组push、unshift、pop、shift方法的实现与使用方法。分享给大家供大家参考,具体如下:

尾部添加(push)

push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

从解释中可以看出,push方法只要将要添加的元素依次放到数组的最后即可,不会改变原有数组元素的索引。所以循环参数列表,将新元素依次放到数组的最后即可。