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
      第一个用于合并的数组,其中将会包含合并后的第二个数组的内容。
    • second
      第二个用于合并的数组,该数组不会被修改,其中的内容将会被合并到第一个数组中。

$.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"]
原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/7707248.html