JavaScript的concat方法實例代碼(數(shù)組連接)
JavaScript concat() 方法
定義和用法
concat() 方法用于連接兩個或多個數(shù)組。
該方法不會改變現(xiàn)有的數(shù)組,而是返回一個新的數(shù)組。
用途: 合并2個或多個數(shù)組
變量名 | value1,value2,value3,…,valueN | |
---|---|---|
詳細描述 | 值或者數(shù)組(可以傳對象) | |
是否必傳 | 否 |
要注意,concat返回的是一個淺拷貝
示例:
1.連接2個數(shù)組
const arr = [1, 2, 3].concat([4, 5]) console.log(arr) // [1,2,3,4,5]
2.連接3個數(shù)組
const arr1 = [1, 2] const arr2 = [3, 4] const arr3 = [5, 6] const arr4 = arr1.concat(arr2, arr3) console.log(arr4) // [1, 2, 3, 4, 5, 6]
3.連接值到數(shù)組
const arr1 = [1, 2] const arr2 = 3 const arr3 = [5, 6] const arr4 = arr1.concat(arr2, arr3) console.log(arr4) // [1, 2, 3, 5, 6]
有趣的知識
talk is cheap,show you my code
const arr1 = [[1]] const arr2 = [3, 4] const arr3 = [5, 6] const arr4 = arr1.concat(arr2, arr3) console.log(arr4) // [[1], 3, 4, 5, 6] arr1[0].push(2) console.log(arr4) // [[1, 2], 3, 4, 5, 6]
const arr1 = [1] const arr2 = [3, 4] const arr3 = [5, 6] const arr4 = arr1.concat(arr2, arr3) console.log(arr4) // [1, 3, 4, 5, 6] arr1.push(2) console.log(arr4) // [1, 3, 4, 5, 6]
說點通俗點,如果連接的數(shù)組中有引用類型,那么這個引用類型是共享的,其實吧,剛開始我說的返回的是淺拷貝,你就應該懂了。
對象也是可以連的
const arr1 = [1] const arr2 = [3, 4] const arr3 = { a: 1, b: 2 } const arr4 = arr1.concat(arr2, arr3) console.log(arr4) // [1, 3, 4, {a:1, b:2}]
Symbol.isConcatSpreadable
對象有一個Symbol.isConcatSpreadable屬性,表示在使用concat方法是是否展開(注意這里是作為參數(shù)時是否展開)
- 數(shù)組是默認展開的
- 對象是默認不展開的
數(shù)組默認展開
const arr1 = [1] const arr2 = [3, 4] const arr3 = arr1.concat(arr2) console.log(arr3) // [1, 3, 4] arr2展開了
const arr1 = [1] const arr2 = [3, 4] arr2[Symbol.isConcatSpreadable] = false const arr3 = arr1.concat(arr2) console.log(arr3) // [1,[3,4]] arr2沒有展開
對象默認不展開
const arr1 = [1] const obj2 = { a: 1, b: 2 } const arr3 = arr1.concat(obj2) console.log(arr3) // [1,{a:1, b:2}] 對象默認不展開
const arr1 = [1] const obj2 = { // 注意這個地方要加length屬性,如果你要展開的話 length: 2, 0: 2, 1: 3 } obj2[Symbol.isConcatSpreadable] = true const arr3 = arr1.concat(obj2) console.log(arr3) // [1,2,3]
字符串的concat方法
示例
const str1 = 'aa' const str2 = str1.concat('bb') console.log(str2) // aabb
到此這篇關于JavaScript的concat方法實例代碼()的文章就介紹到這了,更多相關js concat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- JS數(shù)組合并push與concat區(qū)別分析
- js嵌套的數(shù)組扁平化:將多維數(shù)組變成一維數(shù)組以及push()與concat()區(qū)別的講解
- JavaScript使用concat連接數(shù)組的方法
- JavaScript字符串對象的concat方法實例(用于連接兩個或多個字符串)
- JS數(shù)組方法concat()用法實例分析
- JavaScript中使用concat()方法拼接字符串的教程
- 深入理解javascript中concat方法
- javascript使用 concat 方法對數(shù)組進行合并的方法
- Javascript連接多個數(shù)組不用concat來解決
- js采用concat和sort將N個數(shù)組拼接起來的方法
- javascript中數(shù)組的concat()方法使用介紹
- javascript concat數(shù)組累加 示例
- JS Array創(chuàng)建及concat()split()slice()的使用方法
- 淺談JavaScript的push(),pop(),concat()方法
- JavaScript模擬數(shù)組合并concat
- JS數(shù)組降維的實現(xiàn)Array.prototype.concat.apply([], arr)
- JavaScript中concat復制數(shù)組方法淺析
- javascript數(shù)組中的concat方法和splice方法
相關文章
JavaScript 就地編輯HTML節(jié)點實現(xiàn)代碼
JavaScript 就地編輯HTML節(jié)點實現(xiàn)代碼2009-07-07Qt利用布局widget和ScrollArea實現(xiàn)抽屜效果(實例代碼)
這篇文章主要介紹了Qt利用布局,widget和ScrollArea實現(xiàn)抽屜效果,本文通過實例代碼圖文展示給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2024-07-07微信小程序?qū)崿F(xiàn)發(fā)動態(tài)功能的示例代碼
最近做了一個校園拍賣小程序,想在里面添加一個類似校園圈功能,現(xiàn)在來一步一步實現(xiàn),對微信小程序?qū)崿F(xiàn)發(fā)動態(tài)功能感興趣的朋友一起看看吧2022-08-08JavaScript常用數(shù)組去重實戰(zhàn)源碼
本文給大家分享js常用8種數(shù)組去重實戰(zhàn)源碼,針對每種方法通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-07-07