javascript - 如何使用 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;
}),
)
);
推荐阅读
- python - 在 pandas 数据框中的缺失值中查找最接近的有效数字
- asp.net - Swagger 授权标头在 ASP.NET Core 项目中不可见
- apache-camel - 将 netty4 tcp 端点限制为单个实例
- android - getLineCount 方法返回错误值
- java - 我的编程代码中缺少折扣程序代码
- javascript - 动态填充复选框并在反应 redux 中维护复选框的状态
- javascript - 主机和选项之间缺少分隔斜线
- ocaml - 将 OCaml Bigarray.Array1 的切片复制到字节
- css - 你如何在角度(css表)的表格单元格中将文本对齐=左文本居中?
- f# - F# printf 填充