将数组 object 组合成单个 object
combining array objects into single object
使用 Rxjs 5.0,我有一个 object 这样的
var data = [
{name: 'abc', title: 'zzz', data: '', id: ''},
{name: 'abc1', title: 'zzz1', data: '', id: ''},
{name: 'abc2', title: 'zzz2', data: '', id: ''},
{name: 'abc3', title: 'zzz3', data: '', id: ''}
]
我想简单地映射它,只保留名称和图块。所以做了这样的事情
Rx.Observable.from(data)
.map(item => return {name: item.name, title: item.title};)
.subscribe(items => console.log('Final OBJ:' + JSON.stringify(items)));
在控制台上,我在多行上获取项目,即订阅 运行ning 4 次。我只想 运行 订阅一次完整的 object 包含只有名称和标题字段的数据。
控制台上的预期输出是:
Final OBJ: [{name: 'abc', title: zzz},{name: 'abc1', title: zzz1},{name: 'abc2', title: zzz2},{name: 'abc3', title: zzz3}]
创建一个新数组。使用 forEach
数组方法从旧数组中获取项目
var newArray = [];
data.forEach(function(item){
newArray.push({
name:item.name,
title:item.title
})
})
console.log(newArray)
你可以简单地拥有:
Rx.Observable.from(data)
.reduce((arr, item, idx, source) => {
arr.push({
name: item.name,
title: item.title
});
return arr;
}, [])
.subscribe(items => console.log(JSON.stringify(items)));
编辑: 看来 combineAll 应该可以解决问题。
Rx.Observable.from(data)
.map(item => {
return Rx.Observable.of({
name: item.name,
title: item.title
});
})
.combineAll()
.subscribe(items => console.log(JSON.stringify(items)));
使用 Rxjs 5.0,我有一个 object 这样的
var data = [
{name: 'abc', title: 'zzz', data: '', id: ''},
{name: 'abc1', title: 'zzz1', data: '', id: ''},
{name: 'abc2', title: 'zzz2', data: '', id: ''},
{name: 'abc3', title: 'zzz3', data: '', id: ''}
]
我想简单地映射它,只保留名称和图块。所以做了这样的事情
Rx.Observable.from(data)
.map(item => return {name: item.name, title: item.title};)
.subscribe(items => console.log('Final OBJ:' + JSON.stringify(items)));
在控制台上,我在多行上获取项目,即订阅 运行ning 4 次。我只想 运行 订阅一次完整的 object 包含只有名称和标题字段的数据。
控制台上的预期输出是:
Final OBJ: [{name: 'abc', title: zzz},{name: 'abc1', title: zzz1},{name: 'abc2', title: zzz2},{name: 'abc3', title: zzz3}]
创建一个新数组。使用 forEach
数组方法从旧数组中获取项目
var newArray = [];
data.forEach(function(item){
newArray.push({
name:item.name,
title:item.title
})
})
console.log(newArray)
你可以简单地拥有:
Rx.Observable.from(data)
.reduce((arr, item, idx, source) => {
arr.push({
name: item.name,
title: item.title
});
return arr;
}, [])
.subscribe(items => console.log(JSON.stringify(items)));
编辑: 看来 combineAll 应该可以解决问题。
Rx.Observable.from(data)
.map(item => {
return Rx.Observable.of({
name: item.name,
title: item.title
});
})
.combineAll()
.subscribe(items => console.log(JSON.stringify(items)));