js的数组拼接方法
方法一:concat方法拼接(返回一个新数组)
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
var newa = a1.concat(a2);
结果类型:object
concat方法:用于连接两个或多个数组,生成新数组,concat后面的数组时操作的时候数组的元素,而不是数组
方法二:join方法拼接(返回一个新数组)
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
var newa = a1.join()+','+a2.join();
返回结果:1,2,3,4,5,a,b,c
结果类型:string
join方法:把数组的所有元素放入一个字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。separator 在join()不添加分割符时是逗号(‘,’),在join('.')添加分割符时用提供的符号分割。
方法三:结合apply或者call使用
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
a1.push.apply(a1,a2);
结果类型:object
apply方法:编写用于不同对象的方法,将a1的push方法用在a1上,接收a2(数组类型)参数
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
a1.push.call(a1,...a2);
结果类型:object
call方法:调用一个对象的一个方法,以另一个对象替换当前对象,对象的参数为参数序列
说明:
call([thisObj[,arg1[, arg2[, [,.argN]]]]])
参数
1)thisObj 可选项。将被用作当前对象的对象。
2)arg1, arg2, , argN 可选项。将被传递方法参数序列。
方法四:es6的扩展运算符
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
a1.push(...a2)
结果类型:object
扩展运算符:好比rest参数的逆运算,将一个数组转化为逗号分割的参数序列,主要用于函数调用。
方法五:遍历数组
var a1 = [1,2,3,4,5];
var a2 = ['a','b','c'];
a2.forEach((item) => {a1.push(item); })
结果类型:object