在前端開發中,複制數組是經常用到的功能。現在老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==&mid=2247483877&idx=1&sn=356954f027fdddbea8516d56529fb1c1&chksm=a6d1c83691a6412035f0a7527d902148b39f5c4b6ebc976354e67c5cbafb643f66b97fb3eef8&mpshare=1&scene=1&srcid=0806obsmgtjzaewsbgsi9m03&key=494b2a6a03370d4fe2210ecea10691324747110c3a9519b639c23cf1481967ce01fc29b4d7aaeb1eac0c2bf7cf2d518cbb47f1cae2c5ee310ddaa925cd5dfee48a351b06761d7b86a3af03da114534c1&ascene=0&uin=odi5mdu3odiy&devicetype=imac+macbookair7%2c2+osx+osx+10.12.6+build(16g29)&version=12020810&nettype=wifi&fontscale=100&pass_ticket=bkcydyfa%2fjxbtva3mxm32p3dtg%2bhz0vxraf0xiwbyt9h2ql9y4tqwtdj%2byccx7jo" target="_blank">檢視公衆号文章</a>
歡迎關注個人公衆号,檢視更多好文。