如何将对象列表从 HTTP API 映射到字符串列表?
How do I map a list of objects from an HTTP API to a list of strings?
我正在尝试使用下面给出的合并运算符。我只想在登录前输入 'Mr' 但出现错误,非常感谢您的帮助,谢谢
let data=this.http.get('https://api.github.com/users');
let output=data.pipe(map(data=>{'Mr, '+data.login}));
output.subscribe(data=>{
console.log(data);
})
您正确使用了运算符。如果您想向使用 api.
获取的数据添加一些逻辑,然后使用 pipe 和 map 是正确的
当你使用箭头功能时,如果你使用块,那么你必须添加return字样。
如果你只有一个语句,你可以直接写那个。
因此,只需将您的代码替换为以下几行:
let data=this.http.get('https://api.github.com/users').pipe(map(data=>{
data.forEach((ele)=>ele.login = 'Mr ,'+ele.login};
return data
};
data.subscribe(data=>{
console.log(data);
})
在我的评论中,API returns 一组用户。因此,您需要在 rxjs map
中使用 JavaScript 数组 map
运算符将每个单独的用户转换为所需的字符串:
let data = this.http.get<any[]>('https://api.github.com/users');
let output = data.pipe(map(users => users.map(user => 'Mr, ' + user.login)));
output.subscribe(data => console.log(data));
这里的工作示例:https://stackblitz.com/edit/so-map-github-users?file=src%2Fapp%2Fapp.component.ts
我正在尝试使用下面给出的合并运算符。我只想在登录前输入 'Mr' 但出现错误,非常感谢您的帮助,谢谢
let data=this.http.get('https://api.github.com/users');
let output=data.pipe(map(data=>{'Mr, '+data.login}));
output.subscribe(data=>{
console.log(data);
})
您正确使用了运算符。如果您想向使用 api.
获取的数据添加一些逻辑,然后使用 pipe 和 map 是正确的当你使用箭头功能时,如果你使用块,那么你必须添加return字样。 如果你只有一个语句,你可以直接写那个。
因此,只需将您的代码替换为以下几行:
let data=this.http.get('https://api.github.com/users').pipe(map(data=>{
data.forEach((ele)=>ele.login = 'Mr ,'+ele.login};
return data
};
data.subscribe(data=>{
console.log(data);
})
在我的评论中,API returns 一组用户。因此,您需要在 rxjs map
中使用 JavaScript 数组 map
运算符将每个单独的用户转换为所需的字符串:
let data = this.http.get<any[]>('https://api.github.com/users');
let output = data.pipe(map(users => users.map(user => 'Mr, ' + user.login)));
output.subscribe(data => console.log(data));
这里的工作示例:https://stackblitz.com/edit/so-map-github-users?file=src%2Fapp%2Fapp.component.ts