Javascript数组操作函数 push() 和 concat() 方法用法及区别

2018 年 11 月 26 日 0 条评论 2.72k 次阅读 0 人点赞

在一般的数组操作中,我们经常用到 push(),但是用 concat() 的时候却很少,然而两个函数的用法其实很相似,你可以理解为,push() 是 concat()的简化版;
我们可以写个例子查看一下:

/*push()方法*/
var arr=[1,2,3,4,5];

console.log(arr);   //[1, 2, 3, 4, 5]

arr.push(6);        //一个参数
console.log(arr);   //[1, 2, 3, 4, 5, 6]

arr.push(6,7);      //两个参数
console.log(arr);   //[1, 2, 3, 4, 5, 6, 7]

arr.push([6,7]);    //参数为数组
console.log(arr);   //[1, 2, 3, 4, 5, 6, Array(2)]
/*concat()方法*/
var arr=[1,2,3,4,5];

console.log(arr);   //[1, 2, 3, 4, 5]

var arr2=arr.concat(6);    //一个参数
console.log(arr);    //[1, 2, 3, 4, 5]
console.log(arr2);   //[1, 2, 3, 4, 5, 6]

var arr2=arr.concat(6,7);    //两个参数
console.log(arr);    //[1, 2, 3, 4, 5]
console.log(arr2);   //[1, 2, 3, 4, 5, 6,7]

var arr2=array.concat([6,7]);    //参数为数组
console.log(arr);    //[1, 2, 3, 4, 5]
console.log(arr2);   //[1, 2, 3, 4, 5, 6, 7]

通过运行上述代码,我们可以看出有以下几点区别:
1、push()函数是会修改原有的数组数据,执行push()方法后原有数组的值会对应的改变;而concat()方法则是先把原数组原封不动的复制到一个新的数组,然后在新数组上进行操作,所以concat()不会改变原数组的值。

2、如果方法的参数不是数组,不管参数个数有多少个,push()和concat()都会直接把参数追加到当前数组后面;但是,如果参数是一个数组,push()就会直接把数组添加到原数组后,而concat()会把数组里的值取出来添加到原数组后。我们一般通过ajax从后台获取数据的时候,如果后台给的是一个数组,需要追加的话,就需要用到 concat()  而不能用 push()

雷雷

这个人太懒什么东西都没留下

文章评论(0)

(Spamcheck Enabled)