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 相关文章推荐
Javascript调用XML制作连动下拉列表框
Jun 25 Javascript
些很实用且必用的小脚本代码
Jun 26 Javascript
JS模块与命名空间的介绍
Mar 22 Javascript
js写一个字符串转成驼峰的实例
Jun 21 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
Feb 10 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
Vue中实现回车键切换焦点的方法
Feb 19 Javascript
JS sort排序详细使用方法示例解析
Sep 27 Javascript
基于openlayers实现角度测量功能
Sep 28 Javascript
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
php5数字型字符串加解密代码
2008/04/24 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
Js实现无刷新删除内容
2015/04/29 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
jQuery validate插件功能与用法详解
2016/12/15 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
实践Vim配置python开发环境
2018/07/02 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
python调用支付宝支付接口流程
2019/08/15 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
临床医学大学生求职信
2013/09/28 职场文书
学校十一活动方案
2014/02/01 职场文书
商超业务员岗位职责
2014/03/12 职场文书
公司会议策划方案
2014/05/17 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
2015年女工委工作总结
2015/07/27 职场文书
Python必备技巧之字符数据操作详解
2022/03/23 Python