2017-03-07 2 views
0

私は従業員オブジェクトを持っており、値の一部を新しいオブジェクトにコピーしたいと思います。私はそれらをコピーするためにTypescriptを使用していますが、私はエラーが発生しています。角2 - 型オブジェクトを使用してあるオブジェクトから別のオブジェクトに値をコピーできない

活字体コード:

employee = [ 
    { "empId": "59C", "empDesc": "Software","location":"Dallas"}, 
    { "empId": "AMI", "empDesc": "Hardware", "location":"San Francisco"} 
    ]; 
    companies : any; 
    for (let c of this.employee) { 
     this.companies.push({ 
     empDesc: c.empDesc, 
     empId: c.empId 
     }) 
    }; 
    console.log("Companies",this.companies); 

Plunkerコードリンク:

https://plnkr.co/edit/CnBR4JouNhzH3DWm7QCo?p=preview

答えて

2

あなたが機能でそのコードを実行する必要があります。ここで私はコンストラクタでそれを実行しています。クラス内の変数のみを宣言できます。

companiesも空の配列で初期化する必要があります。

employee = [ 
    { "empId": "59C", "empDesc": "Software","location":"Dallas"}, 
    { "empId": "AMI", "empDesc": "Hardware", "location":"San Francisco"} 
    ]; 
    companies : any = []; 


    constructor(){ 
    for (let c of this.employee) { 
     this.companies.push({ 
     empDesc: c.empDesc, 
     empId: c.empId 
     }) 
    }; 
    console.log("Companies",this.companies); 

    } 
2

問題のカップルがありますが、

あなたには、いくつかの機能

constructor(){ 
    for (let c of this.employee) { 
     this.companies.push({ 
     empDesc: c.empDesc, 
     empId: c.empId 
     }) 
    }; 
    console.log("Companies",this.companies); 
} 

ISIDEコードを書いて、企業のプロパティを初期化する必要があり、

チェックアウトはPlunker!!

更新しますお役に立てれば!!

0

これが私の仕事:

public employee: any[] = []; 
public companies: any[] = []; 

ngOnInit() { 
    this.employee = [ 
    { "empId": "59C", "empDesc": "Software","location":"Dallas"}, 
    { "empId": "AMI", "empDesc": "Hardware", "location":"San Francisco"} 
    ]; 


    for (let c of this.employee) { 
     let temp = [{ 
     empDesc: c.empDesc, 
     empId: c.empId 
     }] 
     this.companies.push(temp); 
    }; 
    console.log("Companies",this.companies); 
} 
関連する問題