小任务,尝试过这么多我无法做到这一点。
export class EmployeeDetails {
employee_id: number,
employee_name: string,
employee_startDate: string,
employee_endDate: string,
employee_startTime: string,
employee_endTime: string,
employee_city: string,
employee_country: string,
employee_phone: number,
employee_email: string
}
queryResponse = [
{
startDate: '01/01/2001’,
endDate: '02/02/2002’ ,
personDetails : [
{ id: 1, name: ‘mounika’, timeDetails: [{ startTime: ’9:00am’, endTime: ’4:00pm’, email: ‘mounika@gmail.com’, phone: ’9232323223’}, { startTime: ’10:00am’, endTime: ’5:00pm’, email: ‘mounika@gmail.com’, phone: ’9232323223’ }]},
{ id: 2, name: ‘ashish’, timeDetails: [{ startTime: ’10:00am’, endTime: ’6:00pm’, email: ‘ashish@gmail.com’, phone: ’93647626342’}, { startTime: ’11:00am’, endTime: ’7:00pm’, email: ‘ashish@gmail.com’, phone: ’93647626342’ }] } ,
{ id: 3, name: ‘sai’, timeDetails: [{ startTime: ’7:00am’, endTime: ’3:00pm’, email: ‘sai@gmail.com’, phone: ’9746236547’}, { startTime: ’8:00am’, endTime: ’5:00pm’, email: ‘sai@gmail.com’, phone: ’9746236547’ }] } ],
locationDetails : [{city: ‘Hyderabad’, country: ‘India’}, {city: ‘Chennai’, country: ‘India’}, {city: ‘Mumbai’, country: ‘India’} ]}
寻找这样的输出。并且响应是这样的更多对象的数组(我的意思是响应长度大于1)。如何通过多个响应获得以下输出?
data : Array<EmployeeDetails> = [];
data = [
{ employee_id: 1, employee_name: ‘mounika’, employee_startDate: '01/01/2001’, employee_endDate: '02/02/2002’ , employee_startTime: ’10:00am’, endTime: ’5:00pm’, employee_email: ‘mounika@gmail.com’, employee_phone: ’9232323223’, employee_city: ‘Mumbai’, employee_country: ‘India’},
{ employee_id: 2, employee_name: ‘ashish’, employee_startDate: '01/01/2001’, employee_endDate: '02/02/2002’ , employee_startTime: ’11:00am’, employee_endTime: ’7:00pm’, employee_email: ‘ashish@gmail.com’, employee_phone: ’93647626342’, employee_city: ‘Mumbai’, employee_country: ‘India’},
{ employee_id: 3, employee_name: ‘sai’, employee_startDate: '01/01/2001’, employee_endDate: '02/02/2002’ , employee_startTime: ’8:00am’, employee_endTime: ’5:00pm’, employee_email: ‘sai@gmail.com’, employee_phone: ’9746236547’,employee_city: ‘Mumbai’, employee_country: ‘India’}
]
答案 0 :(得分:2)
尝试在Array.prototype.map()
的帮助下使用new转换数组
var data = queryResponse.personDetails.map(info => {
return {employee_id: info.id, employee_name: info.name}
});
&#13;
你可以转换其他类似的键。
如果你想添加国家和城市,你应该在地图&#34; id&#34;中使用第二个争论,例如:
var data = queryResponse.personDetails.map((info, id) => ({
employee_id: info.id,
employee_name: info.name,
employee_city: queryResponse.locationDetails[id].city,
employee_country: queryResponse.locationDetails[id].country
})
);
&#13;