陣列中的push和concat
-
push的定義
向陣列的末尾添加一個或更多元素,回傳值為陣列添加元素后的長度,
-
concat的定義
連接兩個或更多的陣列,并回傳結果,該方法不會改變現有的陣列,而僅僅會回傳被連接陣列的一個副本,
// push方法 var a = [1,2,3]; console.log(a.push(4,5)); // 5 a.push(6,7); console.log(a); // [1,2,3,4,5,6,7] // concat方法 var a = [1,2,3]; var b = [4,5]; var c = a.concat(b); console.log(a,b,c); // [1,2,3] [4,5] [1,2,3,4,5] -
兩者區別
- push()是在原陣列的基礎上修改的,執行push()方法后原陣列的值也會變,該方法會改變原陣列以及原陣列的長度;
- concat()是先把原陣列復制到一個新的陣列,然后在新陣列上進行操作,所以不會改變原陣列的值,
- 如果引數不是陣列,push()和concat()都會直接把引數添加到陣列后;如果引數是一個陣列,push()就會直接把陣列添加到原陣列后,而concat()會把陣列里的值取出來添加到原陣列的后面,
// push方法添加陣列 var x = [5,6,7,8]; x.push(['a','b']); console.log(x); // [5, 6, 7, 8, Array(2)] ==> [5, 6, 7, 8, ['a','b']] // concat方法添加陣列 var y = ['s','f','h','k']; var z = y.concat([2,3]); console.log(z); // ['s', 'f', 'h', 'k', 2, 3] // 注意: concat()引數是陣列會展開,但只會展開一層 var y = ['s','f','h','k']; var z = y.concat([2,3,['u']]); console.log(z); // ['s', 'f', 'h', 'k', 2, 3, Array(1)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/502871.html
標籤:其他
下一篇:Docsify使用指南,使用Typora+Docsify打造最強、最輕量級的個人&團隊檔案,及免費和開源且低成本檔案工具
