假如我有两个数组
const array1 = ['a','b']
const array2 = ['c','d']
现在,我想把array2中的每一个元素值添加到array1中,我会想到下面的方法,但是结果和我想的却不一样:
array1.push(array2)
console.log(array1) // ["a", "b", Array(2)],跟我想象中的["a","b","c","d"]不一样
看来我们需要寻求另一种办法,给大家指个路子——js中的apply!
我们知道call和apply的区别就是call是分别接收参数,而apply可以接收一个数组形式的参数。
看下面的代码:
array1.push.apply(array1,array2)
console.log(array1) // ["a","b","c","d"]
对了,多提一点,就是使用array.push(),返回的是原来这个数组执行完push操作之后的length,而不是原来这个数组,请注意
const result = array1.push.apply(array1,array2)
console.log(result) // 4