84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
如题:
jQuery 的 $.merge( , ) 和 js 的concat() 是一样的吧,区别在哪里呢?
认证0级讲师
$.merge() 和 concat() 都是用來合併兩個數組,但最大的差別在
$.merge()
concat()
$.merge() 是把第二個數組,合併進去第一個,是破壞性的,第一個數組內容會被修改
var arr1 = [1, 2] var arr2 = [3, 4] $.merge([1, 2], [3, 4]) // arr1 = [1, 2, 3, 4]
concat() 則是合併後返回新數組,不會修改參數中的數組
var arr1 = [1, 2] var arr2 = [3, 4] var arr3 = arr1.concat(arr2) // arr1 = [1, 2] // arr2 = [3, 4] // arr3 = [1, 2, 3, 4]
$.merge([array1], [array2] )用于合并两个数组,无法规定连接符,合并以后的东西依然是数组(或者对象)
$.merge([array1], [array2] )
Array.prototype.join用于把数组中的多个元素合并,可以规定连接符,合并以后的东西是字符串。
Array.prototype.join
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()
和concat()
都是用來合併兩個數組,但最大的差別在$.merge()
是把第二個數組,合併進去第一個,是破壞性的,第一個數組內容會被修改concat()
則是合併後返回新數組,不會修改參數中的數組$.merge([array1], [array2] )
用于合并两个数组,无法规定连接符,合并以后的东西依然是数组(或者对象)Array.prototype.join
用于把数组中的多个元素合并,可以规定连接符,合并以后的东西是字符串。