欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript的concat方法實(shí)例代碼(數(shù)組連接)

 更新時(shí)間:2023年03月13日 00:30:10   作者:瘋狂的夏銘予  
這篇文章主要介紹了JavaScript的concat方法實(shí)例代碼,包括數(shù)組連與字符連接,需要的朋友可以參考下

JavaScript concat() 方法

定義和用法

concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組。

該方法不會(huì)改變現(xiàn)有的數(shù)組,而是返回一個(gè)新的數(shù)組。

用途: 合并2個(gè)或多個(gè)數(shù)組

變量名value1,value2,value3,…,valueN
詳細(xì)描述值或者數(shù)組(可以傳對(duì)象)
是否必傳

要注意,concat返回的是一個(gè)淺拷貝

示例:

1.連接2個(gè)數(shù)組

const arr = [1, 2, 3].concat([4, 5])
console.log(arr) // [1,2,3,4,5]

2.連接3個(gè)數(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]

有趣的知識(shí)

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]

說點(diǎn)通俗點(diǎn),如果連接的數(shù)組中有引用類型,那么這個(gè)引用類型是共享的,其實(shí)吧,剛開始我說的返回的是淺拷貝,你就應(yīng)該懂了。

對(duì)象也是可以連的

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

對(duì)象有一個(gè)Symbol.isConcatSpreadable屬性,表示在使用concat方法是是否展開(注意這里是作為參數(shù)時(shí)是否展開)

  • 數(shù)組是默認(rèn)展開的
  • 對(duì)象是默認(rèn)不展開的

數(shù)組默認(rèn)展開

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沒有展開

對(duì)象默認(rèn)不展開

const arr1 = [1]
const obj2 = {
  a: 1,
  b: 2
}
const arr3 = arr1.concat(obj2)
console.log(arr3) // [1,{a:1, b:2}] 對(duì)象默認(rèn)不展開
const arr1 = [1]
const obj2 = {
// 注意這個(gè)地方要加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

到此這篇關(guān)于JavaScript的concat方法實(shí)例代碼()的文章就介紹到這了,更多相關(guān)js concat內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論