二次元配列を回転させるメソッドを書きたいのですが、
まずは回転させる元のarrayを用意します。
次に元の配列を保持するarraycopyを
var arraycopy=array.slice();
のように書きました。
しかし
array[2][2]=20
のように書いてみると、arraycopyの値も変わっていました
さらに
var x=arraycopy[2][2] x=200
のようにかくと、arrayとarraycopyの両方の値が書き換えられていました
他の言語では味わったことがないのですが、配列の中のスカラーな値でも配列から取得しているだけで受け取った際には参照渡しになるのでしょうか?
また、ネット上で新しい配列を作成するにはconcatを使うなどslice以外の方法を全て試したのですがいずれも参照渡しになってしまいました。
使っている環境はatomのcode runnnerです。
環境によって実行結果が変わるとは思えないのですが、原因の方を教えていただきたいです。
回答4件
あなたの回答
tips
プレビュー