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
中的所有副本。知道我做错了吗?