我正在重新映射从API接收到的JSON对象,该对象运行良好。问题在于,不是将其压入单个数组searchResultsReFormat
中,而是在控制台中多次读取同一行,但使用不同的值。
searchResultsReFormat: any = [];
this.searchResults.map(result => {
const customer = result.customer
const meals = result.meals
const newResults = [{
firstName : customer.firstName,
lastName : customer.lastName,
grade: this.gradeName,
meals: [meals]
}]
console.log(newResults)
this.searchResultsReFormat = newResults
})
但是所有这些都应该分组在一个单独的数组searchResultsReFormat
中,并且展开后,数据将显示
答案 0 :(得分:2)
map
实际上是根据提供的回调通过转换每个值来返回新数组。
您不需要推动或做任何事情,只需要:
return
在回调内转换后的值。//此处分配
this.searchResultsReFormat = this.searchResults.map(result => {
// ^--- callback here
const customer = result.customer;
const meals = result.meals;
const newResults = [{
firstName : customer.firstName,
lastName : customer.lastName,
grade: this.gradeName,
meals: [meals]
}];
return newResults; // <-- return here.
});
答案 1 :(得分:1)
您需要返回map中的对象,并将map结果分配给所需的数组。
searchResultsReFormat: any = [];
this.searchResultsReFormat = this.searchResults.map(result => {
const customer = result.customer
const meals = result.meals
return {
firstName : customer.firstName,
lastName : customer.lastName,
grade: this.gradeName,
meals: [meals]
}
})