方法1
apply() 数组方式传参
let a = ['1', '2']
let b = ['2', '3']
let arr1 = [1, 2]
let arr2 = [3, 4]
console.log(a); // ['1','2']
console.log(b); // ['2','3']
例 1
a.push.apply(a, b) //将b数组放进了a数组中 相当于数组合并(拼接)
console.log(a); // ['1', '2', '2', '3']
解析:使用apply() 方法 a.push() 意思是:在a数组中添加 apply(a,b)
括号里a代表this指向 b 代表传参 不过传的是数组参数
那么也可以修改this指向来 操作
a.push.apply(b,a) //['2','3','1','2']}
解析:因为apply和call和bind都是动态修改this指向,这里用的apply,
原本应是:往a数组里添加a数组参数==>往b数组里添加a数组参数
例 2
arr1.push.apply(arr1, arr2) //往a数组里添加b数组
console.log(arr1); // [1, 2, 3, 4]
方法2
concat() 方法
let c = [1, 2, 3]
let d = ['a', 'b', 'c']
console.log(c); // [1,2,3]
console.log(d); // ['a', 'b', 'c']
例1
const cd=c.concat(d) // c数组里面添加 d数组的元素
console.log(cd) // [1, 2, 3, 'a', 'b', 'c']
//注意
const cd1=d.concat(c) // d数组里面添加 c数组的元素
console.log(cd1) // ['a', 'b', 'c',1, 2, 3 ]
concat() 拓展
concat() 也可以用来拼接字符串
let as='hello'
let ass='baby'
const addc= as.concat(ass)
console.log(addc) //hellobaby
方法3
使用forEach 遍历
let c = [1, 2, 3]
let d = ['a', 'b', 'c']
console.log(c); // [1,2,3]
console.log(d); // ['a', 'b', 'c']
d.forEach(item => c.push(item))
console.log(c); //[1, 2, 3, 'a', 'b', 'c']
方法 4
扩展运算符 ...
let c = [1, 2, 3]
let d = ['a', 'b', 'c']
console.log(c); // [1,2,3]
console.log(d); // ['a', 'b', 'c']
//使用拓展运算符
const gf=[...c, ...d]
console.log(gf); // [1, 2, 3, 'a', 'b', 'c']