不用concat解决Javascript连接多个数组
来源:互联网 发布:iphone清除数据 编辑:程序博客网 时间:2024/04/29 04:32
第一种方法就是大家熟知的concat,但是这个方法有一个确定就是该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
如果只是想把一个新数组的元素加到现有数组中,我们还要为其重新赋值,其实存在有一点点资源的浪费。简单的说,我们要为新创建的数组分配新的内存空间,并且把arr1重新指向这个新内存地址,那么原来那个内存中的数组呢,嘿嘿 那就要看浏览器能不能正确回收喽。
如下例:
var arr1 = [1,2,3];var arr1 = arr1.concat([4,5]);
那么我们有没有什么好办法来避免这个资源消耗呢?
这里可以使用Javascript原生的apply方法来实现,首先看如下代码:
var arr1= [1,2,3];arr1.push.apply(arr1,[4,5]);
这样就搞定了,此方法巧妙的运用了apply方法的特性(第二个参数是数组类型的多个)解放了push方法, push方法从本身只能传递多个值变成了可以传递数组, 上述代码其实就等价于
arr1.push(4,5);
这样arr1还是那个arr1,只是内存进行了重写而已,没有重定向和不必要的内存溢出。
1 0
- 不用concat解决Javascript连接多个数组
- 【Javascript】数组连接concat()
- concat连接多个通道
- 数组连接concat()
- Javascript 数组 concat
- Html数组数组连接concat()
- 学习TensorFlow,concat连接两个(或多个)通道
- 合并多个数组,不用array_merge()
- JS之连接数组方法concat
- javascript中数组的concat()方法
- javascript中数组的concat()方法
- Javascript数组---push(),concat()方法的区别
- 要把多个array-like的对象连接在一起,不能使用concat的时候
- SQL的CONCAT()多个字段连接——拓展使用update批处理一个字段
- 在一个循环中遍历多个数组(Concat操作)
- hibernate连接多个数据库?----其实什么也不用担心
- concat方法完成javascript中数组的复制
- javascript 内置对象 - 数组对象&方法 concat join reverse
- extern "C"
- Python3.2官方文档教程--字符串
- 工作小感
- Unity3D引擎扩展中的编辑器定制方法
- DNN 7学习路径图
- 不用concat解决Javascript连接多个数组
- 使用字符串核函数进行文本分类
- Art of Multiprocessor Programming 答案 ch5
- C#中声明类/属性/方法已过时(Obsolete)
- Missing artifact com.sun:tools:jar 1.5.0 终极解决方法
- Mark Andreessen:我相信比特币,还会继续投资
- 第三周作业
- 黑马程序员_JAVA语言开发常遇陷阱集笔记
- android pdf解析