【发布时间】:2021-03-09 01:46:38
【问题描述】:
我想映射对象数组 现在我有类似的东西
return this.service.post(url, payload, this.httpOptions)
.pipe(
map((obj: any, index) => [({
...obj,
val1: obj[index].val1.id,
val2: obj[index].val2.id
})]
))
我也尝试这样做
map((obj: any, index) =>
{
const list = []
const obj = {
...obj,
val1: obj[index].val1.id,
val2: obj[index].val2.id
}
list.push(obj);
return list;
}
输入
[
{
"val1": { "id": "USER_ID", "value": "User1" },
"val2": { "id": "USER_ID", "value": "User2" },
"val3": "aaa",
"val4": "val2"
},
{
"val1": { "id": "USER_ID", "value": "User3" },
"val2": { "id": "USER_ID", "value": "User4" },
"val3": "dds",
"val4": "eee"
}
]
和预期的输出
[
{
"val1": "USER_ID",
"val2": "USER_ID",
"val3": "aaa",
"val4": "val2"
},
{
"val1": "USER_ID",
"val2": "USER_ID",
"val3": "dds",
"val4": "eee"
}
]
现在,我有一个对象数组,而不是对象数组,其中一个对象包含所有对象 我想要一个对象数组,每个对象都包含 obj 以及示例 val1 和 val2 中的映射值
【问题讨论】:
-
从 map() 中移除 [( 和 )]
-
map((obj: any) => { ...obj, val1: obj.result.id, val2: obj.status.id })
-
如果删除我有 { 0: {}, 1: {}, val1: '...', val2: '...' }
-
请发布您的数据形状以供输入和所需输出。 @BeshambherChaukhwan 似乎是对的,删除
([和])应该可以。 -
其实只是去掉方括号,括号还是要的。
标签: angular typescript rxjs