定义:
push()添加到数组末尾,并返回修改后数组的长度。
concat()基于当前数组中的所有项创建一个新数组。具体来说,这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给concat()方法传递参数的情况下,它只是复制当前数组并返回副本。如果传递给concat()方法的是一或多个数组,则改方法会将这些数组中的每一项都添加到结果数组中。
举例:
var arr1 = [‘ew’,‘tr1’,555,777,860];
arr1.push(18,19,20)
console.log(arr1)=> ['ew','tr1',555,777,860,18,19,20] ;
arr1.concat(88,99,100)
console.log(arr1)=> ["ew", "tr1", 555, 777, 860, 88, 99, 100] ;
var arr2 = [‘ew’,‘tr1’,555,777,860];
arr2 .push([222,333,444])
console.log(arr2 ) => ["ew", "tr1", 555, 777, 860, Array(3)]
arr2 .concat([666,777,888])
console.log(arr2 ) => ["ew", "tr1", 555, 777, 860, 666, 777, 888]
区别:
push()是在原数组的基础上修改的,执行push()方法后原数组的值也会变,并返回数组的个数;
concat()是先把原数组复制到一个新的数组,然后在新数组上进行操作,所以不会改变原数组的值,并返回新的数组。