天天看点

javascript复制数组的三种方式

在前端开发中,复制数组是经常用到的功能。现在老k为大家总结一下javascript中复制数组的三种方式。

<b>1.普通的for循环</b>

这是一种使用最普遍的方式。利用js的for循环再生成一个相同的数组。代码如下:

输出:

[1,2,3] [1,2,3]

为了验证arr2不是简单的类型引用,我们可以对arr2进行一个小操作,验证arr2确实是arr1的复制品。代码如下:

[1,2,3] [1,2]

对arr2进行操作,不影响arr1。由此验证,arr2是arr1的复制品。当然这种方式比较繁琐。

<b>2.es6的array.from()</b>

es6的array.from 方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括es6新增的数据结构set和map)。我们可以利用这个特性来快速复制数组。代码如下:

<b>3.es6的扩展运算符(...)</b>

这是es6规范新加的一种运算符,它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。我们可以利用扩展运算符的特性来快速复制数组。代码如下:

<a href="https://mp.weixin.qq.com/s?__biz=mjm5oda2mdiyma==&amp;mid=2247483877&amp;idx=1&amp;sn=356954f027fdddbea8516d56529fb1c1&amp;chksm=a6d1c83691a6412035f0a7527d902148b39f5c4b6ebc976354e67c5cbafb643f66b97fb3eef8&amp;mpshare=1&amp;scene=1&amp;srcid=0806obsmgtjzaewsbgsi9m03&amp;key=494b2a6a03370d4fe2210ecea10691324747110c3a9519b639c23cf1481967ce01fc29b4d7aaeb1eac0c2bf7cf2d518cbb47f1cae2c5ee310ddaa925cd5dfee48a351b06761d7b86a3af03da114534c1&amp;ascene=0&amp;uin=odi5mdu3odiy&amp;devicetype=imac+macbookair7%2c2+osx+osx+10.12.6+build(16g29)&amp;version=12020810&amp;nettype=wifi&amp;fontscale=100&amp;pass_ticket=bkcydyfa%2fjxbtva3mxm32p3dtg%2bhz0vxraf0xiwbyt9h2ql9y4tqwtdj%2byccx7jo" target="_blank">查看公众号文章</a>

欢迎关注个人公众号,查看更多好文。

javascript复制数组的三种方式
javascript复制数组的三种方式

继续阅读