溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript的concat方法怎么使用

發(fā)布時間:2023-03-13 09:08:40 來源:億速云 閱讀:102 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“JavaScript的concat方法怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“JavaScript的concat方法怎么使用”吧!

    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ù)組中有引用類型,那么這個引用類型是共享的,其實吧,剛開始我說的返回的是淺拷貝,你就應(yīng)該懂了。

    對象也是可以連的

    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方法怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI