2017-10-09 59 views
0

Service.ts如何迭代打印機中Array <any>變量的內部元素?

getApiTrace(name: string, firstDate: string, lastDate: string, pageSize: number, index: number) { 
     return this.http.get('http://localhost:10061/dataList?appName=' + name + '&fromdate=' + firstDate + '&toDate=' + lastDate + "&pageSize=" + pageSize + "&index=" + index).map((res: Response) => res.json()); 
    } 

這些服務返回JSON爲:

{ 
    "size": 3, 
    "dataResults": [ 
     { 
      "name": "chetan", 
      "city": "vadodara", 
      "rank": 56 
     }, 
     { 
      "name": "kishan", 
      "city": "kutch", 
      "rank": 23 
     }, 
     { 
      "name": "chinmay", 
      "city": "surat", 
      "rank": 34 
     } 
    ] 
} 

,並存儲在data:Array<any>

現在,如果我要得到的只有名字轉換成HTML那麼我們可以通過{{data?.dataResults}}寫入for循環。但我怎麼寫到Typescript得到所有名字到字符串[]

回答

0

您可以簡單地使用,

const names: string[] = data.dataResults.map((result) => result.name); 
0

有你嘗試類似:

import { Component, OnInit } from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.scss'] 
}) 
export class AppComponent implements OnInit { 



    myarray: string[]; 

    constructor(private _myService : MyService) { 

    } 


    //Page Load 
    ngOnInit(): void { 
    this._myService.getApiTrace(/*params*/).then((resp)=>{ 
    this.myarray = res.data. dataResults.map(xx=> xx. name); 

}).catch() 
    } 


} 

現在您myarray中充滿了所有項目

的名字希望它可以幫助你

0

使用ng dirrective *ngFor

這樣: <div *ngFor="let elem of data">{{elem.dataResults.name}}</div>

0

可以使用.map函數來獲取名稱數組,

對於例如,

let jsonObj = { 
    "size": 3, 
    "dataResults": [ 
     { 
      "name": "chetan", 
      "city": "vadodara", 
      "rank": 56 
     }, 
     { 
      "name": "kishan", 
      "city": "kutch", 
      "rank": 23 
     }, 
     { 
      "name": "chinmay", 
      "city": "surat", 
      "rank": 34 
     } 
    ] 
}; 

let names: string[] = jsonObj.dataResults.map((namesObj) => namesObj.name); 
alert(names); 

的工作演示,請here

希望這可以幫助

0

Depe根據你使用的Frontend框架,你應該有一種方法來循環通過data?.dataResults

如果你使用的角度 *ngFor i of data?.dataResults 其中i.name保持各自的,然後可以顯示在HTML名字