だから、私は2つのクラスを持っています
Item { name: string; desc: string; meta: string}
ViewItem { name: string; desc: string; hidden: boolean; }
ViewItemの配列に変換する必要があるItemの配列があります。現在、私はforItemを使用して配列をループし、ViewItemをインスタンス化し、属性に値を割り当て、それを2番目の配列にプッシュしています。
ラムダ式を使用してこれを実現する簡単な方法はありますか?(C#と同様)または他の手段はありますか?
コードが十分に表示されていないため、クラスをインスタンス化する方法がわかりませんが、いずれの場合でも、配列マップ関数を使用できます。
class Item {
name: string;
desc: string;
meta: string
}
class ViewItem {
name: string;
desc: string;
hidden: boolean;
constructor(item: Item) {
this.name = item.name;
this.desc = item.desc;
this.hidden = false;
}
}
let arr1: Item[];
let arr2 = arr1.map(item => new ViewItem(item));
(遊び場のコード)
これは次のように短くすることができますObject.assign
:
constructor(item: Item) {
Object.assign(this, item);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加