【问题标题】:Get Unique Values from Array of Multiiple Objects [duplicate]从多个对象数组中获取唯一值
【发布时间】:2020-06-16 14:37:11
【问题描述】:

正在开发一个 NodeJS 网络应用程序,并试图从我的后端数据集中获取一些信息。以下是 Mongoose 模型的相关部分:

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
  }

]

它用于存储盒子分数。如何搜索每个对象的 season 字段并返回包含该字段中唯一值的数组?当我使用地图搜索路线上请求的player 的数据时,它返回:

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'
]

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

【问题讨论】:

    标签: javascript node.js mongoose


    【解决方案1】:

    这是一种方法:

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

    我们使用本机 Set 对象,它始终保证唯一值。另一种方法是使用外部库,例如 lodash

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 2020-11-13
      • 2019-10-20
      • 2018-06-18
      • 1970-01-01
      • 2019-01-03
      • 2019-11-14
      相关资源
      最近更新 更多