我有一个返回一个对象映射的服务,然后在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));
您应该能够使用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));