提问者:小点点

从多重对象数组中获取唯一值[重复]


我正在开发一个NodeJS web应用程序,并试图从我的后端数据集获取一些信息。 猫鼬模型的相关部分如下:

gameLog: [
  {
     date: String,
     season: String,
     location: String,
     opp: String,
     gameType: String,
     result: String,
     start: Number,
     min: Number,
     fgm: Number,
     fga: Number,
     fgp: Number,
     twoPM: Number,
     twoPA: Number,
     twoP: Number,
     threePM: Number,
     threePA: Number,
     threeP: Number,
     ftm: Number,
     fta: Number,
     ftp: Number,
     orb: Number,
     drb: Number,
     ast: Number,
     stl: Number,
     blk: Number,
     to: Number,
     pf: Number,
     pts: Number
  }

]

这是用来储存盒子分数的。 如何搜索每个对象的sease字段并返回包含该字段中唯一值的数组? 当我使用映射搜索路由上所请求的播放器的数据时,它返回:

let seasons = foundPlayer.gameLog.map(({
    season}) => season);

// Output

[
  '2019', '2019', '2019', '2019', '2019',
  '2019', '2019', '2019', '2019', '2019',
  '2019', '2019', '2019', '2019', '2019',
  '2019', '2019', '2019', '2019', '2019',
  '2019', '2019', '2019', '2019', '2019',
  '2019', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020', '2020', '2020',
  '2020', '2020', '2020'
]

因此,我想要的不是数组中的每个季节实例,而是唯一的值。 我错过了什么? 提前感谢您的帮助!


共1个答案

匿名用户

这里有一个方法:

let seasons = [...(new Set(foundPlayer.gameLog.map(({
    season}) => season)))];

我们使用的是本机set对象,该对象总是保证唯一的值。 另一种方法是使用外部库,如lodash