当前位置:  开发笔记 > 前端 > 正文

RxJS5 - 将对象映射转换为数组的运算符

如何解决《RxJS5-将对象映射转换为数组的运算符》经验,为你挑选了1个好方法。

我有一个返回一个对象映射的服务,然后在Angular的ngFor中使用它只接受数组.所以,我使用map操作符和lodash的_toArray将数据转换为数组.

虽然这是有效的,但我必须在任何地方导入lodash我需要这样做,它似乎很脆弱.我打算研究创建一个自定义运算符,但也许有一个运算符已经这样做了?我似乎无法找到合适的人选

数据:

{ 0 : {data : 'lorem'}, 1 : {data : 'lorem'}, 2 : {data : 'lorem'} }

当前:

this.http
    .get('/api')
    .map(data => _.toArray(data));

可能?

this.http
    .get('/api')
    .mapToArray();

cpt_redbeard.. 11

您应该能够使用RxJS的map运算符和Object.keys()方法执行您想要的操作.

Rx.Observable
  .of({
    0: { data : 'lorem' },
    1: { data : 'lorem' },
    2: { data : 'lorem' }
  })
  .map(data => Object.keys(data).map(k => data[k]))
  .subscribe(data => console.log(data));



1> cpt_redbeard..:

您应该能够使用RxJS的map运算符和Object.keys()方法执行您想要的操作.

Rx.Observable
  .of({
    0: { data : 'lorem' },
    1: { data : 'lorem' },
    2: { data : 'lorem' }
  })
  .map(data => Object.keys(data).map(k => data[k]))
  .subscribe(data => console.log(data));
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有