数组合并的几种方法

作者: 巩小白 | 来源:发表于2018-04-19 11:27 被阅读30次
var arr1 = [1, 2, 3];
var arr2 = ["a","b","c","d","e","f"];

1、concat

var arr = arr1.concat(arr2);  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]  

Array对象提供的concat()方法,连接两个或更多的数组,并返回一个新数组,原数组不变。
但当我们需要连接多个数组的时候,效率很低,会造成很大的内存浪费,所以这个方法肯定不是最好的。

2、 通过for循环

for(let i in arr1){
    arr2.push(arr[i]);
}
console.log(arr2)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]  

这样写性能相对来说要高一点,但是会改变数组本身的值,而且很丑

3、通过map()

 arr1.map(item=>{
    arr2.push(item) 
 });
  console.log(arr2)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"] 

这样写性能相对来说要高一点,但是也会改变数组本身的值,这样看起来逼格高一点啦~~~

4、apply

函数的apply方法有一个特性,那就是func.apply(obj,argv),argv是一个数组。所以我们可以利用这点,直接上代码:

1.
arr1.push.apply(arr1,arr2);   
console.log(arr1)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"] 
2.
Array.prototype.push.apply(arr1,arr2);
console.log(arr1)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"] 

调用arr1.push这个函数实例的apply方法,同时把,arr2当作参数传入,这样arr1.push这个方法就会遍历arr2数组的所有元素,达到合并的效果。也会改变数组本身的值

5、ES6 – 扩展运算符

arr = [...arr1,...arr2]
console.log(arr)   // [1, 2, 3, "a", "b", "c", "d", "e", "f"] 

这个方法不会改变原数组的内容,返回新数组。

相关文章

  • JS:day05

    一、Array(数组) 对象 1、创建数组的几种方法 2、合并数组(concat) 3、数组转换(join / s...

  • 常用的数组方法

    数组的方法有许多,但来来回回常用的也就那几种,特此记录,以备遗忘之需。 将数组合并成字符串 toString()直...

  • 数组基础

    数组基础 新建数组 数组方法和属性 数组合并 数组常用方法

  • 数组合并的几种方法

    1、concat Array对象提供的concat()方法,连接两个或更多的数组,并返回一个新数组,原数组不变。但...

  • 数组合并的几种方法

    第一种:数组的 concat方法 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一...

  • js - 数组常用的方法

    清空数组的三种方法 合并数组 注: contact()方法用于合并两个或多个数组,此方法不会改变现有的数组,会返回...

  • JavaScript 数组的操作

    原生js的数组方法 concatconcat()方法用于合并两个或多个数组或给数组合并值。不会更改原有数组,而是直...

  • js合并数组

    方法一 使用concat合并数组 方法二

  • javascript数组合并

    javaScript的两个数组合并或者多个数组合并1.用concat() 方法, concat() 方法用于连接两...

  • es6扩展运算符、concat方法合并多个数组

    1:ES6扩展运算符、合并多个数组 2:concat方法、合并多个数组

本文标题:数组合并的几种方法

本文链接:https://www.haomeiwen.com/subject/kroikftx.html