Javascript合并两个数组的几种方式整理
- 利用concat方法
var array1 = ['Tom', 'Jerry']; var array2 = ['Terry'] var combined = array1.concat(array2); # ["Tom", "Jerry", "Terry"] // concat还可以接收多个参数,合并多个数组: var combined2 = [].concat(array1, array2);
concat会生成一个新的数组,原来的两个数组不改变
- Spead ES6新语法,同样的,生成一个新的数组,原来的两个数组不改变
var array1 = ['Tom', 'Jerry']; var array2 = ['Terry'] const combined = [...array1, ...array2]; // ["Tom", "Jerry", "Terry"]
- 利用push方法(也要使用Spread ES6语法) 把A数组合并到B数组,原来B的内容发生改变
var array1 = ['Tom', 'Jerry']; var array2 = ['Terry'] // push返回的结果是array2的长度 const result = array2.push(...array1); console.log(result); // 这个时候array2的内容是合并后的内容了! console.log(array2) // ["Tom", "Jerry", "Terry"]
注意不要直接使用pushvar array1 = ['Tom', 'Jerry']; var array2 = ['Terry'] array2.push(array1); //这种情况返回的Array是数组中套数组,显然不是我们想要的 console.log(array2); // [["Terry"], "Tom", "Jerry"]
- 当然最后还可以利用for循环一个一个push上去,最简单不用动脑筋方式
var array1 = ['Tom', 'Jerry']; var array2 = ['Terry'] for(var i in array1){ array2.push(array1[i]); } console.log(array2); // [["Terry"], "Tom", "Jerry"]
文章评论