2017-12-19 7 views
0
私はデータを持つオブジェクトを設定したい

のプロパティを設定してから、私はこのエラー私はこの問題を解決するにはどうすればよい'Cannot set property 'reference' of undefined'は未定義の活字体

を得た別のオブジェクト

let globalSamples = {} as any; 
let sample = { } as ISamplesDetail []; 
sample = []; 
for (let i = 0 ; i<this.prelevementLingette.samplesDetail.length; i++) 
    { 
     sample [i].id= this.old.samplesDetail[i].id; 
     sample [i].reference=this.old.samplesDetail[i].reference; 
} 
globalSamples.push(sample); 

にそれをプッシュすることはできませんか?

+0

if文を使用します。 sample [i]がnullまたは未定義の場合、次の繰り返しにジャンプするために、 'if(!sample [i])continue;のようなものです。 –

答えて

1

あり、あなたのコード内のいくつかの問題があるので、私はあなたのコード内のロジックが少しねじれているように思えるが、知らずに言うのは難しいビット

// looks like this would be a proper type.. 
const globalSamples: ISamplesDetail[][] = []; 

// can't assign object ({}) what should be an array, so.. 
// value doesn't change -> const 
const sample: ISamplesDetail[] = []; 


// it's strange that you iterate over 'this.prelevementLingette', 
// but access 'this.old' 
for (let i = 0 ; i < this.prelevementLingette.samplesDetail.length; i++) { 
     sample[i] = { 
      id: this.old.samplesDetail[i].id, 
      reference: this.old.samplesDetail[i].reference 
     } 
} 

// can't push to an object (should be array - []) 
globalSamples.push(sample); 

それをクリーンアップしましたcontext

+0

それは動作します!この構文とは何でしょうか?なぜ私のコードがうまくいかないのですか?同じ – Hamdy

+0

の構文は正確ですか? –