gpt4 book ai didi

angular - 在 Angular 7 中排序 HTTP 获取数据

转载 作者:行者123 更新时间:2023-12-04 02:48:23 27 4
gpt4 key购买 nike

我希望在 Angular 7 中对 http get 结果进行排序。

网站上提供的解决方案使用 mapin 结合将响应对象转换为目标类型并取回 json,但是当我使用 Angular 7 时,它似乎适用于旧版本的 Angular。

public getAlertKeys (): Observable<AlertMsg[]> {
return this.http.get<AlertMsg[]>(this.alertsUrl);
}

最佳答案

只需使用 RxJS map 运算符和 JavaScript 数组可用的 sort 函数。请记住,提供给 sort 的函数需要返回一个数字(负数、零或正数)以指示正确的顺序。

假设您有以下 AlertMessage 模型:

export class AlertMessage {
text: string;
priority: number;
}

当你想按number类型的优先级排序时,你可以使用下面的

return this.http.get<AlertMessage[]>(this.alertsUrl).pipe(
map(messages => messages.sort((a1: AlertMessage, a2: AlertMessage) => a1.priority - a2.priority ))
);

当你想按string类型的文本排序时,你可以使用下面的

return this.http.get<AlertMessage[]>(this.alertsUrl).pipe(
map(messages => messages.sort((a1: AlertMessage, a2: AlertMessage) => {
if(a1.text < a2.text) return -1;
if(a1.text > a2.text) return 1;
return 0;
}))
);

关于angular - 在 Angular 7 中排序 HTTP 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277706/

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