push()接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后的数组的长度
concat()将参数添加到原数组中,这个方法会先copy一个当前数组,然后将接收到的参数添加到这个copy数组的末尾,最后返回新构建的数组,在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回。
如果参数中有数组,concat会拆解数组一项一项放入,而push()是整个数组放入。
一般在数组末尾添加元素用push方法就可以了,但是这样会改变原有数组的数据所以就有了concat方法
concat方法是在原有的基础上添加元素并返回链接之后的副本,并不会修改原有的数组
push方法会把数组原原本本的输出
concat方法会把数组解析之后再输出
数组concat()方法作用:
1. 该方法不会改变原有的数组。 参数可以是array,string,number,object。
2. 返回一个新的数组,如果有数组作为参数传入concat()方法里时,添加的是数组中的元素而不是数组本身。
数组concat()方法机理
1、 concat()在处理过程中会创建一个空的数组,然后再去循环其参数项,然后在对其一个个的进行赋值
2、 只要不改变原数组,那么势必都会创建一个新的数组,那么自然就会响应的比较慢
结论
在实现相同的效果的时候,push往往比concat()更加的高效