push()和concat()的区别

一般在数组末尾添加元素用push方法就可以了,但是这样会改变原有数组的数据所以就有了concat方法
concat方法是在原有的基础上添加元素并返回链接之后的副本,并不会修改原有的数组

var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

下面分别用两种方法添加元素

var array = arr.concat(4,5) //[1, 2, 3, 4, 5]
console.log(arr)    //[1,2,3]
arr.push(4,5); //[1, 2, 3, 4, 5]

从上面的代码看上去没有什么区别,我们接着看:
push方法会把数组原原本本的输出
concat方法会把数组解析之后再输出。
下面是解决方法:

arr.push.apply(arr,[4,5]);        //[1, 2, 3, 4, 5]
arr = arr.concat([4,5])        //[1, 2, 3, 4, 5]

PS:concat也可以用来拼接字符串

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。