何か奇妙なことに出くわしたとき、JavaScriptでいくつかの配列をいじっていました。これが私のコードです:
var origArray = new Array("one","two","three","four","five","six","seven","eight");
var newArray = origArray.slice(1,3);
origArray[1] = "octopus";
console.log(newArray.join()); //prints two,three
var origArray = new Array(["one","two"],["three","four"],["five","six"],["seven","eight"]);
var newArray = origArray.slice(1,3);
origArray[1][0] = "octopus";
console.log(newArray.join()); //prints octopus,four,five,six
最初のケースではなく、2番目のケースで影響を受ける理由がわかりませんnewArray
。何が起きてる?