2017-02-21 6 views
0

へのTypescriptキャストの返されたサブスクリプションのタイプです。次の操作を実行しようとしていますが、2番目のforループ内にmonthDataの構文エラーが表示されます。{} []から配列<Array<any>>

Observable.forkJoin(observableArray) 
    .subscribe(monthArray => { 

    console.log(monthArray) 

    for (let monthData of monthArray) { 
     for (let dataEntry of monthData) { 
     // do somehting with dataEntry which is an object 
     } 
    } 
    } 

タイプは{}] [IはmonthArrayにカーソルを合わせる際に、その型は、{}である配列型または文字列型

ないことを訴えています。

ただし、Iは{} []に

からmonthArrayをキャストする方法はあります画像

screen shot

に示すように、返さmonthArrayタイプ配列の配列であることを100%確信しています

Array<Array<any>>>

答えて

0

私はタイプがここに間違っている驚いて、RXJS5はに活字体で設計されています通常は非常に良いタイピングがあります。それにもかかわらず、あなたはあなたのケースでは、このような何かを行うことができる必要があります:

Observable.forkJoin(observableArray) 
    .subscribe(arr => { 
    const monthArray = arr as Array<Array<any>>; 
    for (let monthData of monthArray) { 
     for (let dataEntry of monthData) { 
     // do somehting with dataEntry which is an object 
     } 
    } 
    } 

あなたがより多くを学ぶことに興味があるならthis nice writeup on type assertionsをチェックしてください。

関連する問題