javascript - 从多个对象数组中获取唯一值
问题描述
在 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'
]
因此,我想要的不是数组中每个季节的实例,而是唯一的值。我在这里想念什么?在此先感谢您的帮助!
解决方案
这是一种方法:
let seasons = [...(new Set(foundPlayer.gameLog.map(({
season}) => season)))];
我们使用的是原生Set
对象,它总是保证唯一的值。另一种方法是使用外部库,例如lodash
.
推荐阅读
- json - 如何在 ElasticSearch 中根据电子邮件域名聚合用户日志
- c++ - 液压系统模拟
- python-3.x - Keras 使用没有模型对象的多 GPU(不用于训练)
- javascript - 在 Angular 小写 4、6、7 中输入 URL 时出错
- android - 用于递归绑定到 ListView 的自定义 ArrayAdapter
- regex - tcl 中带有方括号和变量的字符串上的 regsub 问题
- angular - Angular - 提供的数据源与数组、可观察对象或数据源不匹配
- python - Scipy GridData QhullError:中心点与面共面,或顶点与相邻面共面
- c - 为什么多个 fgets 语句会覆盖字符数组?
- php - 如何将表格中选定的行 ID 提供给我的模型?