js合并两个数组的3种方法详解图片,js合并两个数组的3种方法详解图

js合并两个数组的3种方法详解图片,js合并两个数组的3种方法详解图,JS合并两个数组的3种方法详解

本文主要介绍JS合并两个数组的三种方法的详细说明,并通过示例代码进行详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

本文主要介绍JS合并两个数组的三种方法的详细说明,并通过示例代码进行详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

两个数字需要合并成一个的情况。例如:

var a=[1,2,3];

var b=[4,5,6];

有两个数组A和B,要求是把两个数合成一个。该方法如下:

1、concat

js的Array对象提供了一个名为concat()的方法来连接两个或多个数组并返回结果。

var c=a . concat(b);//c=[1,2,3,4,5,6];

这里有一个问题。concat方法连接两个数组A和B后,两个数组A和B的数据不会改变,同时返回一个新的数组。这样,当我们需要多次合并数组时,就会造成大量的内存浪费。如果数据量比较小,我们勉强可以用。如果数据量很大,这是不合适的,所以这种方法肯定不是最好的。

2.for循环

总体思路是遍历其中一个数组,将数组中的所有元素依次添加到另一个数组中。直接装载代码:

for(变量I在b中)

{

a . push(b[I]);

}

这种写法可以解决第一种方案的内存浪费,但是会有另外一个问题:难看!这么说也不是没有道理。如果只用一行代码就能搞定岂不是很快~

3、申请

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

a.push.apply(a,b);

调用这个函数实例a.push的apply方法,将B作为参数传入,这样这个方法a.push就会遍历B数组的所有元素,达到合并的效果。

这里可能有点曲折。我们可以把B看作[4,5,6]它变成这样:

a.push.apply(a,[4,5,6]);

那么上述操作相当于:

a.push(4,5,6);

这一点很清楚!

此外,应该注意两个小问题:

1)上述三种合并方法都没有考虑A和B两个数组哪个长度更小。

所以提前判断A和B两个数组哪个更大,然后用大数组合并小数组,这样就减少了数组元素的运算次数,是个不错的办法!

2)有时候我们不希望原数组(A,B)改变,那么就只能用concat。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: