重複の可能性:
javascriptの値による配列のコピー
javascriptに面白い問題があります。配列変数をコピーしてコピーのみを変更してから、コピーをスプライスして要素を削除します。ただし、元の配列変数はスプライスの影響を受けます-コピーが「参照によるコピー」であるかのように:
window.onload = function() {
var initial_variable = ['first', 'second', 'third'];
var copy_initial_variable = initial_variable;
copy_initial_variable.splice(0, 1);
alert('initial variable - ' + initial_variable);
};
//output: initial variable - second,third
まず、これはjavascriptの意図的な動作ですか、それともバグですか?
次に、配列のコピーを作成し、コピー内の要素を削除して、元の要素を削除するにはどうすればよいですか?
上記がjavascriptのバグである可能性があると私に思わせる1つのことは、この動作は配列でのみ発生し、整数では発生しないということです。例えば:
window.onload = function() {
var initial_variable = 1;
var copy_initial_variable = initial_variable;
copy_initial_variable = 2;
alert('initial variable - ' + initial_variable);
};
//output: initial variable - 1
2
動作が一貫している場合、割り当てはおそらく参照によるものであるため、これを出力する必要がありますか?