jQuery.merge与concat的区别

Posted Mr_伍先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"]

 

以上是关于jQuery.merge与concat的区别的主要内容,如果未能解决你的问题,请参考以下文章

JS 数组的 push 与 concat 区别

MS SQL CONCAT 与“+”查询的区别(使用 Doctrine 2)

jQuery 核心02

pd.concat()与pd.merge()之间的区别,为什么我得到错误的输出?

LINQ to OBJECT函数积累

扩展运算符与 array.concat()