Googleシートで3D配列を定義しようとしましたが、.slice()
メソッドを使用していても配列を参照渡ししています。JavaScriptで3D配列を定義する
var temp = [];
for (var a = 0; a<archetypesAll.length; a++) {temp[a] = [0, a].slice();};
var archRank = [];
for (var a = 0; a<21; a++) {archRank[a]= temp.slice();};
archRank[2][1][0] = 'Test';
Iは行列の単一の要素を編集する代わりに、上記のコードは、単に正確に同じ値(「テスト」)を用いてすべての行を埋め:
3DMatrix[x][1][0] = 'Test'
そして、何あなたの期待がある:あなたはこのように、あなた自身の
deepCopy
methidを書くことがありますか?どのように配列を渡したいですか? そして、書式に注意してください。 – Elyasin私の期待は、行archRank [2] [1] [0] = 'テスト'です。すべての行の代わりに要素[2] [1] [0]を 'Test'で塗りつぶすだけです – user3637122
なぜあなたはあなたの文の中の言葉の配列/参照を言いますか?それは私が考えるとかなり混乱しています。 – Elyasin