jQuery.merge與concat的區別


示例如下:

s1="123";
s2="145";
s3 = $.merge(s1,s2);//s3="123",字符串s1 s2不變,默認返回s1
s4 = s1.concat(s2);//s4="123145"
a1=[1,2,3];
a2=[1,4,5];
a3 = $.merge(a1,a2);//a1=[1,2,3,1,4,5], a3=[1,2,3,1,4,5] 向a1里合並
a4 = s1.concat(s2);//a4=[[1, 2, 3, 1, 4, 5, 1, 4, 5], a1還是[1,2,3,1,4,5]

 

 

其中merge方法

描述: 合並兩個數組內容到第一個數組。

  • 添加的版本: 1.0jQuery.merge( first, second )

    • first
      類型:  ArrayLikeObject
      第一個用於合並的數組,其中將會包含合並后的第二個數組的內容。
    • second
      類型:  ArrayLikeObject
      第二個用於合並的數組,該數組不會被修改,其中的內容將會被合並到第一個數組中。

 

$.merge()操作形成一個數組,其中包含兩個數組的所有元素。追加到第一個數組中的第二個數組元素的順序會被保留。

$.merge()函數是破壞性的。它會修改第一個數組的內容,並將第二個數組的內容添加到第一個數組中。

如果您需要保留原始的第一個數組,請在調用$.merge()前拷貝一個出來。幸運的是, $.merge()本身也可以用於拷貝操作:

1
var newArray = $.merge([], oldArray);

此快捷方式創建一個新的,空數組合並了oldArray的內容,有效地克隆了數組。

 

JS代碼測試如下:

例子:

Example: 合並兩個數組,修改第一個參數的內容。

1
$.merge( [0,1,2], [2,3,4] )

Result:

1
[0,1,2,2,3,4]

Example: 合並兩個數組,修改第一個參數的內容。

1
$.merge( [3,2,1], [4,3,2] )

Result:

1
[3,2,1,4,3,2]

Example: 合並兩個數組,但是對第一個參數進行拷貝,這樣就可以保證原始的內容不被修改。

1
2
3
var first = ['a','b','c'];
var second = ['d','e','f'];
$.merge( $.merge([],first), second);

Result:

1
["a","b","c","d","e","f"]

 


免責聲明!

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



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