gpt4 book ai didi

javascript - angular 中的 rxjs 运算符

转载 作者:行者123 更新时间:2023-11-30 11:12:37 25 4
gpt4 key购买 nike

是否有任何运算符可以实现以下 map 尝试执行的操作?

this.http.get(this.url)
.pipe(map(data => {
let results: object[] = new Array();
data.forEach(function(d) {
let result = d['a'];
result['new_index'] = d['b'];
results.push(result);
}
retrun results;
}));

d['a'] 是一个对象,而 d['b'] 是一个字符串。 new_index 键对于每个 result 都是新的。

基本上原始数据包含相当多的字段,其中我只想要 2 个字段,一个是对象类型的实际数据,另一个是类似 ID 的字段。我不需要任何其他字段。我需要提取该对象数据并将 ID 字段插入到该对象中。

最佳答案

我有点不明白你的数据结构。

如果 http.get 返回如下数据:

[{
a: {...},
b: '...'
}]

然后你就可以使用:

this.http.get(this.url)
.pipe(map(({a, b}) => {
a.new_index = b;
return a;
}));

jsfiddle example ;

但是如果你的数据真的是这样的:

[
[{a: {...}, b: '...'}],
[{a: {...}, b: '...'}],
]

(如您在您的示例中处理的那样),因此您可以使用 [].map :

this.http.get(this.url)
.pipe(map(data =>
data.map(({a, b}) => {
a.new_index = b;
return a;
})
));

jsfiddle example ;

关于javascript - angular 中的 rxjs 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53028231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com