2017-02-03 17 views
-1

に押す、私はエラーをIマルチDIMアレイにプッシュトラブルを抱えている多次元アレイ

_this.fieldRefs [ID] .pushを取得する機能

ありません私のコードは非常に簡単ですので、私は考えた:

this.fieldRefs = this.fieldRefs || []; // init `this.fieldRefs` if it doesn't exist 
this.fieldRefs.push(ID); // push the `ID` e.g `0` 
this.fieldRefs[ID].push(ref); // add the `ref` to `0` (ref is an ele) 

最初の2行は正常に動作し、this.fieldRefsは、例えばIDが含まれています

this.fieldRefs = [0] 

最終行はエラーが発生する場所です。私はthis.fieldRefs[ID]を確認した場合、私は確かに0を得るのですが、私はあなたが何をしたいのか0インデックス

+0

this.fieldRefs [ID] = []は、プッシュ型の配列型 –

+2

で初期化する必要があります。何かを '0'の数値に' .push'しようとしていますか? – deceze

+0

@evolutionxbox JSに多次元配列があります! "オブジェクト"は別のものです。 –

答えて

3

にプッシュすることはできませんIDに関連した引用文献の配列を割り当てることです。

IDが常に数値である場合、この値を既存の配列にプッシュするのではなく、そのIDで定義されたインデックスで配列を初期化することをお勧めします。このように:あなたが現在やっていることは、あなたのfieldRefs配列内の連続したインデックスのIDの値を格納しているので、異なりますが、インデックスは、IDの値と一致しない

this.fieldRefs = this.fieldRefs || []; 
this.fieldRefs[ID] = []; 
this.fieldRefs[ID].push(ref). 

関連する問題