【发布时间】:2022-01-04 22:23:46
【问题描述】:
我不明白为什么推送到数组会影响结果,而更改数组项不会。
如何编写,以便restore 方法返回初始数组?
class Snapshot {
constructor(array) {
this.array = [...array];
}
restore() {
return this.array;
}
}
var array = [1, 2];
var snap = new Snapshot(array);
array[0] = 3;
array = snap.restore();
console.log(array.join()); // Logs "1,2"
array.push(4);
array = snap.restore();
console.log(array.join()); //It should log "1,2", but logs "1,2,4"
【问题讨论】:
-
你替换了数组....`return this.array;`不是副本
标签: javascript arrays oop