Javascript连接多个数组不用concat来解决


Posted in Javascript onMarch 24, 2014

第一种方法就是大家熟知的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,只是内存进行了重写而已,没有重定向和不必要的内存溢出。
Javascript 相关文章推荐
一段利用WSH获取登录时间的jscript代码
May 11 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
Oct 26 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
Mar 14 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
JavaScript实现点击单元格改变背景色的方法
Feb 12 Javascript
微信小程序 动态绑定事件并实现事件修改样式
Apr 13 Javascript
微信小程序本地缓存数据增删改查实例详解
May 24 Javascript
vue 使用外部JS与调用原生API操作示例
Dec 02 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
jqeury-easyui-layout问题解决方法
Mar 24 #Javascript
让table变成exls的示例代码
Mar 24 #Javascript
JQuery 图片滚动轮播示例代码
Mar 24 #Javascript
JS中判断null、undefined与NaN的方法
Mar 24 #Javascript
jquery高级编程的最佳实践详解
Mar 23 #Javascript
js 判断浏览器使用的语言示例代码
Mar 22 #Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 #Javascript
You might like
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
js文字横向滚动特效
2015/11/11 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
python获得一个月有多少天的方法
2015/06/04 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
Pandas中resample方法详解
2019/07/02 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
用 Python 制作地球仪的方法
2020/04/24 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
会计专业自我鉴定
2014/02/10 职场文书
快餐公司创业计划书
2014/04/29 职场文书
水电工岗位职责
2015/02/14 职场文书
药店收银员岗位职责
2015/04/07 职场文书
培养联系人考察意见
2015/06/01 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
五年级作文之学校的四季
2019/12/05 职场文书