map(), , concatAll() ( Observables, . Observable ):
var data = [{
id : 1,
name : "Item 1",
subItems : [
{ id : 1, name : "SubItem 1" },
{ id : 2, name : "SubItem 2" }
]
}, {
id : 2,
name : "Item 2",
searchProfiles : [
{ id : 3, name : "SubItem 3" },
{ id : 4, name : "SubItem 4" }
]
}];
Observable.from(data)
.map(item => {
if (item.searchProfiles) {
return item.searchProfiles;
} else if (item.subItems) {
return item.subItems
}
})
.concatAll()
.subscribe(val => console.log(val));
:
{ id: 1, name: 'SubItem 1' }
{ id: 2, name: 'SubItem 2' }
{ id: 3, name: 'SubItem 3' }
{ id: 4, name: 'SubItem 4' }
, , , toArray() .concatAll() .subscribe(...), :
[ { id: 1, name: 'SubItem 1' },
{ id: 2, name: 'SubItem 2' },
{ id: 3, name: 'SubItem 3' },
{ id: 4, name: 'SubItem 4' } ]