繁体   English   中英

如何使用 rxJS 基于当前属性向数组中的所有对象添加属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM