【发布时间】:2019-02-28 23:40:21
【问题描述】:
有人问过这个问题here,更重要的是here。我尝试了所有答案,但没有一个能解决我的问题。这是非常基本的。
我有以下数组。在拼接或执行任何破坏性操作后,我的各种复制尝试都不会持续存在。甚至副本也发生了变异。如何复制它以保留原始版本?
var arrs = [ [ 3 ], [ 7, 4 ], [ 2, 4, 6 ], [ 8, 5, 9, 3 ] ]
var arrsCopy1 = arrs.slice()
var arrsCopy2 = arrs.map(arr => {
return arr
})
var arrsCopy3 = [...arrs]
//test one of the copies
arrsCopy3.forEach(arr => {
return arr.splice(0, arr.length)
})
arrs, arrsCopy1, arrsCopy2, arrsCopy3 => [[],[],[],[]]
Here 是一个演示我的问题的小提琴(使用reverse() 而不是splice)
【问题讨论】:
标签: javascript arrays