function setobjprop(ind, prop, v) {
if (undo_arr.length > 0) {
console.log("C" + undo_arr.length + ": " + undo_arr[0][0].rotate);
}
console.log(ind + ":" + prop + ":" + v);
user_img[ind][prop] = v;
if (undo_arr.length > 0) {
console.log("D" + undo_arr.length + ": " + undo_arr[0][0].rotate);
}
undo_arr.push(user_img.slice(0));
console.log(undo_arr[0][0].rotate);
console.log(prop + " -> " + v);
if (undo_arr.length > 10) {
undo_arr.shift();
}
redrawCanvas(ind);
}
我有一个名为 的对象数组user_img
,现在我编写了一个函数来更新该数组中特定索引处对象的值,然后我试图将整个数组的副本存储在另一个名为undo_arr
. 但是 undo_arr 中数组的所有副本似乎都指向该user_img
数组,因为对象修改似乎反映了之前存储在undo_arr
. 知道我做错了什么吗?