繁体   English   中英

如何从数组中的 object 中获取值并将它们放入列中的数组中?

[英]how do i take values from an object inside an array and put them inside a array in column?

我有一个查询,它返回两列的值、 namewin ,如下所示:

[
  RowDataPacket { name: 'mattia', win: 45 },
  RowDataPacket { name: 'mauro', win: 32 },
  RowDataPacket { name: 'valerio', win: 30 },
  RowDataPacket { name: 'luca', win: 29 },
  RowDataPacket { name: 'lorenzo', win: 26 },
  RowDataPacket { name: 'stefano', win: 25 },
  RowDataPacket { name: 'armando', win: 16 },
  RowDataPacket { name: 'marco', win: 12 },
  RowDataPacket { name: 'francesco', win: 10 },
  RowDataPacket { name: 'antonio', win: 5 }
]

我想获取每个值并将其按值的顺序放入一个数组中,然后将它们放入列中。 我尝试使用.map但无法使其正常工作

这是你要找的吗?

 const results = [ { name: 'mattia', win: 45 }, { name: 'mauro', win: 32 }, { name: 'valerio', win: 30 }, { name: 'luca', win: 29 }, { name: 'lorenzo', win: 26 }, { name: 'stefano', win: 25 }, { name: 'armando', win: 16 }, { name: 'marco', win: 12 }, { name: 'francesco', win: 10 }, { name: 'antonio', win: 5 } ]; // solution #1 - every map iterates over the whole array (2x iterations) const names = results.map(result => result.name); const wins = results.map(result => result.win); console.log('names', names); console.log('wins', wins); // solution #2 - iterates once over the array const { namesArr, winsArr } = results.reduce((accumulator, currentValue) => { const { name, win } = currentValue; const { namesArr, winsArr } = accumulator; return { namesArr: [...namesArr, name], winsArr: [...winsArr, win] }; }, { namesArr: [], winsArr: [] }) console.log('names2', namesArr); console.log('wins2', winsArr);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM