【发布时间】:2019-11-15 18:57:48
【问题描述】:
我有一个对象数组,每个对象都有相同的 2 个参数:contentId 和 data。
[
{
contentId: 12343,
data: 'a bunch of data'
},
...
]
我的 RXJS observable 使用以下代码返回对象。
this.$bcc = this.bccService.getBcc().pipe(
map(data => data.find(obj => obj.contentId == 12343)), // returns the matching object
// map(data => data.find(obj => obj.contentId == 12343)['data']), // undefined
);
但是,我怎样才能最好地指定匹配对象的 data 参数值?
【问题讨论】:
-
什么是
map?您使用的是哪个库? -
澄清了我正在使用 observables 和 RXJS
map运算符的问题。但是,.find是香草 JS。 -
您不应该在第一个
map中使用filter(而不是find)吗?否则第二个map不会得到一个数组,而是对象...或者改变第二个管道参数来处理找到的对象而不是数组.. -
我不清楚你的确切问题,但你见过
pluck吗?它允许您提取特定的嵌套属性。在此处查看文档:rxjs.dev/api/operators/pluck -
@DeborahK 每次都赢。 Pluck 似乎是完成这项工作的工具。如果你有空,你能用我的例子来回答吗?
标签: javascript arrays object rxjs