【发布时间】:2019-09-18 20:59:28
【问题描述】:
我从 api 接收 JSON 数据,我需要将其映射到单独的数组。
正在以这种格式接收数据:
[
{"MONTH":9,"YEAR":2015,"SUMAMT":0},
{"MONTH":10,"YEAR":2015,"SUMAMT":11446.5},
{"MONTH":11,"YEAR":2015,"SUMAMT":539252}
]
我需要把它转换成
Array1 = [Sep-2015,Oct-2015,Nov-2015]
Array2 = [0,11446.5,539252]
这是我正在尝试的代码,但我不确定如何实现它。
这是接收数据的服务:
getSalesTrend(): Observable < any > {
return this.http.get<any>(`${this.apiPath}/salesTrend`)
.pipe(
map(data => {
this.date = new Date(data.YEAR, data.MONTH, 1);
return this.date.formatDate(this.date, "MMM-YYYY");
})
)
}
这是订阅数据的组件:
salesTrendData: any[]
ngOnInit() {
this.adminService.getSalesTrend()
.subscribe(salesTrendData => {
this.salesTrendData = salesTrendData
console.log(this.salesTrendData);
})
}
console.log 应该给我:Array1 和 Array2
任何帮助将不胜感激。我是这个论坛的新手,如果您需要更多信息,请告诉我,并提前致谢:)
【问题讨论】:
-
你不可能从一个函数返回两个值:array1 和 array2 必须被包装在一个数组 ([array1, array2]) 或一个对象{array1: [...], array2: [...]},或者它必须是使用 rxjs 的流中的两个项目。
标签: angular typescript