我可以改善我的代码,并用array.map代替for-loop吗?
我搜索了一下,我想我可以这样做,但是我没有找到如何应用的方法。
这是我发现的:
var result = arr.map(person => ({ value: person.id, text: person.name }));
Run Code Online (Sandbox Code Playgroud)
我的代码在这里:
public getFlights(): Observable<RowItem[]> {
return this.http
.get(this.apiHostFlights)
.map((res: any) => {
return <LocationModelItem[]>res.json();
})
.map((items: LocationModelItem[]) => {
var rowItems: RowItem[]=[];
var cachedLenght = items.length;
for (var i = 0; i < cachedLenght; i++) {
rowItems.push(
new RowItem(i, items[i].name, items[i].img, items[i].category)
);
}
return rowItems;
})
.catch((error: any) => {
return Observable.throw(error.statusText);
});
}
Run Code Online (Sandbox Code Playgroud)
public getFlights(): Observable<RowItem[]> {
return this.http
.get(this.apiHostFlights)
.map((res: any) => {
return <LocationModelItem[]>res.json();
})
.map((items: LocationModelItem[]) => {
return items.map((item, index) => ({
index: index,
name: item.name,
img: item.img,
category: item.category)
}))
})
.catch((error: any) => {
return Observable.throw(error.statusText);
});
}
Run Code Online (Sandbox Code Playgroud)
希望这样做
| 归档时间: |
|
| 查看次数: |
5342 次 |
| 最近记录: |