concat() 方法用於合並兩個或多個數組。此方法不會更改現有數組,而是返回一個新數組。


var arr1 = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];

var arr3 = arr1.concat(arr2);

// arr3 is a new array [ "a", "b", "c", "d", "e", "f" ]

語法

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

參數

valueN
將數組和/或值連接成新數組。詳情請參閱下文描述。

返回值

新的 Array 實例。

 

描述

concat方法創建一個新的數組,它由被調用的對象中的元素組成,每個參數的順序依次是該參數的元素(如果參數是數組)或參數本身(如果參數不是數組)。它不會遞歸到嵌套數組參數中。

concat方法不會改變this或任何作為參數提供的數組,而是返回一個淺拷貝,它包含與原始數組相結合的相同元素的副本。 原始數組的元素將復制到新數組中,如下所示:

  • 對象引用(而不是實際對象):concat將對象引用復制到新數組中。 原始數組和新數組都引用相同的對象。 也就是說,如果引用的對象被修改,則更改對於新數組和原始數組都是可見的。 這包括也是數組的數組參數的元素。
  • 數據類型如字符串,數字和布爾(不是StringNumber 和 Boolean 對象):concat將字符串和數字的值復制到新數組中。

 

注意:數組/值在連接時保持不變。此外,對於新數組的任何操作(僅當元素不是對象引用時)都不會對原始數組產生影響,反之亦然。

 

示例

以下代碼將兩個數組合並為一個新數組:

var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];

alpha.concat(numeric);
// result in ['a', 'b', 'c', 1, 2, 3]

連接三個數組

以下代碼將三個數組合並為一個新數組:

var num1 = [1, 2, 3],
    num2 = [4, 5, 6],
    num3 = [7, 8, 9];

var nums = num1.concat(num2, num3);

console.log(nums); 
// results in [1, 2, 3, 4, 5, 6, 7, 8, 9]

將值連接到數組

以下代碼將三個值連接到數組:

var alpha = ['a', 'b', 'c'];

var alphaNumeric = alpha.concat(1, [2, 3]);

console.log(alphaNumeric); 
// results in ['a', 'b', 'c', 1, 2, 3]

合並嵌套數組

以下代碼合並數組並保留引用:

var num1 = [[1]];
var num2 = [2, [3]];

var nums = num1.concat(num2);

console.log(nums);
// results in [[1], 2, [3]]

// modify the first element of num1
num1[0].push(4);

console.log(nums);
// results in [[1, 4], 2, [3]]

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM