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
. 私が間違っていることは何ですか?