在JavaScript中經常用到數組拼接,push 和concat 都可以合併數組,他們之間有什麼區別呢?接下來就跟大家講述JS數組合併push與concat差別。有需要的同學可以參考一下。
1、push()方法
var array=[1,2,3,4,5]; console.log(array); //[1, 2, 3, 4, 5] array.push(6); //一个参数 console.log(array); //[1, 2, 3, 4, 5, 6] array.push(6,7); //两个参数 console.log(array); //[1, 2, 3, 4, 5, 6, 7] array.push([6,7]); //参数为数组 console.log(array); //[1, 2, 3, 4, 5, 6, Array(2)]
#2、concat()方法
var array=[1,2,3,4,5]; console.log(array); //[1, 2, 3, 4, 5] var array2=array.concat(6); //一个参数 console.log(array); //[1, 2, 3, 4, 5] console.log(array2); //[1, 2, 3, 4, 5, 6] var array2=array.concat(6,7); //两个参数 console.log(array); //[1, 2, 3, 4, 5] console.log(array2); //[1, 2, 3, 4, 5, 6,7] var array2=array.concat([6,7]); //参数为数组 console.log(array); //[1, 2, 3, 4, 5] console.log(array2); //[1, 2, 3, 4, 5, 6, 7]
透過程式碼可以看出幾點區別:
1,push()是在原數組的基礎上修改的,執行push()方法後原數組的值也會改變;concat()是先把原數組複製到新的數組,然後在新數組上進行操作,所以不會改變原始數組的值。
2,如果參數不是數組,不管參數個數有多少個,push()和concat()都會直接把參數加到數組後;如果參數是一個數組,push()就會直接把數組加到原數組後,而concat()會把數組裡的值取出來加到原數組後。
總結:
如果想數組追加用concat,但是和java的replace一樣,用完記得arr1=arr1.concat(arr2)。希望本文所述對大家JavaScript程式設計有幫助。
以上是深入理解JS數組合並push與concat區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!