为了解$.merge与concat的区别,我们先看2个例子
var arr1=[1,2,3];
var arr2=[4,5,6];var arr3=$.merge(arr1,arr2);
console.log(arr1); //[1,2,3,4,5,6]
console.log(arr2); //[4,5,6]
console.log(arr3); //[1,2,3,4,5,6]
ar arr1=[1,2,3];
var arr2=[4,5,6];var arr3=arr2.concat(arr2)
console.log(arr1); //[1,2,3]
console.log(arr2); //[1,2,3]
console.log(arr3); //[1,2,3,4,5,6]
jQuery.merge( first, second ) 返回: Array
描述: 合并两个数组内容到第一个数组。
first第一个用来合并的数组,元素是第二数组加进来的。
second第二个数组合并到第一,保持不变。
$.merge()操作形成一个数组,其中包含两个数组的所有元素。从第二个追加的数组元素顺序将保存。$.merge()函数是破坏性的。它改变了从第二个添加项目到第一个参数。
如果您需要原始的第一个数组,请在调用$.merge()前拷贝一个出来。幸运的是, $.merge()本身也可以用于此副本:
var newArray = $.merge([], oldArray);
此快捷方式创建一个新的,空数组合并了oldArray的内容,有效地克隆了数组。
在jQuery 1.4之前,该参数应该是原生的Javascript数组对象;如果情况并非如此(参数不是原生的Javascript数组对象)请使用$.makeArray。
Examples:
Example: Merges two arrays, altering the first argument.
$.merge( [0,1,2], [2,3,4] )
Result:
[0,1,2,2,3,4]
Example: Merges two arrays, altering the first argument.
$.merge( [3,2,1], [4,3,2] )
Result:
[3,2,1,4,3,2]
Example: Merges two arrays, but uses a copy, so the original isn't altered.
var first = ['a','b','c'];
var second = ['d','e','f'];
$.merge( $.merge([],first), second);
Result:
["a","b","c","d","e","f"]