2016-12-05 7 views
0

私はオブジェクトを定義しましたが、オプションのパラメータを使用してオブジェクトを拡張しようとしています。私はlodashを使って配列を反復し、許​​可するかどうかを決定します。 myArrayをtempに代入しようとすると、オブジェクトが割り当て可能な正しいフォーマットに適合していてもエラーが発生します。lodashプロパティの拡張後にTypescriptが割り当てられないエラー

タイプ '({} & & MyObjectに{許可:ブール;})[]' '[MyObjectに]' 型に代入 ありません。プロパティ '({} & MyObject & {allowed:boolean;})[]'にプロパティ '0'がありません。

export class MyObject { 
    constructor(
    public id: number, 
    public shortName: string, 
    public name: string, 
    public allowed?: boolean 
){} 
} 

var temp = _.map(this.myArray, function(element) { 
    if (_.includes(event, element.id)) 
    return _.extend({}, element, {allowed: false}); 
    else 
    return _.extend({}, element, {allowed: true}); 
}); 
this.myArray = temp 

答えて

0

MyObject[][MyObject]の種類は、_.map<T>(arr:T[])戻りT[]なく[T]異なるので。

あなたは次のように明示的にmyArrayのタイプを指定する必要があります

this.myArray: MyObject[] = [new MyObject(0, '', '')] 
関連する問題