从api接收的数据不是我想要的格式,因此必须重新映射它。我有很多人,我想将他们归为他们所属的团队。我必须首先遍历每个人并获得团队名称。在团队名称上使用不同的名称,创建一个新的对象数组,然后将其分配给正确的团队。
[{name: 'John', age: 23, teamName: 'Development' },
{name: 'Ben', age: 50, teamName: 'Development' },
{name: 'Matt', age: 24, teamName: 'Finance' },
{name: 'Amy', age: 35, teamName: 'Sales' },
{name: 'Laura', age: 31, teamName: 'Finance' }]
这就是我试图让不同的团队...
const staffs = res._embedded['staff'];
const teams = staffs.map(staff => staff.teamName);
const distinctTeams = [...new Set(teams)];
将他们映射到正确的团队
const teamsWithStaff = staffs.map(staff =>
distinctTeams[staff.teamName].push({ name: staff.name, age: staff.age })
);
答案 0 :(得分:0)
您可以基于teamName
let data =[{name: 'John', age: 23, teamName: 'Development' },{name: 'Ben', age: 50, teamName: 'Development' },{name: 'Matt', age: 24, teamName: 'Finance' },{name: 'Amy', age: 35, teamName: 'Sales' },{name: 'Laura', age: 31, teamName: 'Finance' }]
let op = data.reduce((op,inp) => {
let {teamName} = inp
op[teamName] = op[teamName] || []
op[teamName].push(inp)
return op
},{})
console.log(op)