![](/img/trans.png)
[英]Angular: How do I Rxjs filter by property through an array of objects?
[英]How do I add a property to all objects in an array based on current property using rxJS
例如,我取回具有多个属性的对象数组 - 我想添加一个新属性_dead : true
如果在当前对象上填充了deathDate
。 我该怎么做呢? 我是 RxJs 和 ES6 的新手。
return this.myAPI.get(`/players`).pipe(
map(player => ({
...player,
_dead: player.deathDate,
}),
)
);
我想你可能会混淆 RxJS 的 map 操作符和Array.map()
方法。
根据 RxJS 文档, map()
运算符的目的是
对源中的每个值应用投影。
如果您希望向对象数组添加新属性,则需要使用Array.map()遍历数组。
这就是我们如何修改您的代码以获得所需的结果。
return this.myAPI.get(`/players`).pipe(
map(players => ({
const res = players.map(player => ({
...player,
_dead: !!player.deathDate,
});
return res;
}),
)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.