如题:
jQuery 的 $.merge( , ) 和 js 的concat() 是一样的吧,区别在哪里呢?
如题:
jQuery 的 $.merge( , ) 和 js 的concat() 是一样的吧,区别在哪里呢?
var arr = [1,2,3],str = 'abc';
var concat = [].concat.call(arr,str);
console.log(concat);
console.log(arr);
var merge = $.merge(arr, str);
console.log(merge);
console.log(arr);
$.merge([array1], [array2] )
用于合并两个数组,无法规定连接符,合并以后的东西依然是数组(或者对象)
Array.prototype.join
用于把数组中的多个元素合并,可以规定连接符,合并以后的东西是字符串。
merge: function( first, second ) {
var len = +second.length,
j = 0,
i = first.length;
for ( ; j < len; j++ ) {
first[ i++ ] = second[ j ];
}
first.length = i;
return first;
}
//源码
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
$.merge()
和concat()
都是用來合併兩個數組,但最大的差別在$.merge()
是把第二個數組,合併進去第一個,是破壞性的,第一個數組內容會被修改concat()
則是合併後返回新數組,不會修改參數中的數組