将Filter方法添加到Service Angular



我想过滤我的json,这样它就不会显示空表。我有一个过滤器方法,我正试图添加到我的服务中,但我做不到。如果有人有解决方案,我将不胜感激。

谢谢大家。

json

{
"toto": [
"titi",
"tata"
],
emptyArray: [], // hide this element from my service
"foo": [
"foobar",
"footix"
}

服务

result!:string;
private firstPartUrl = 'whatever url 1';
private secondPartUrl = 'whatever url 2';
constructor(http:HttpClient) {}
get(bigramme:string): Observable<Interface> {
this.result = brigramme;
return this.http.get<Interface>(this.firstPartUrl+bigramme+secondPartUrl).
pipe(
filter(key => this.result[key].length > 0));
)
}

试试这个:

...
return this.http.get<IResponse>(`${ this.firstPartUrl }${ bigramme }${ secondPartUrl }`)
.pipe(
map((obj) => {
Object.keys(obj).forEach((key) => {
if (!obj[key].length) {
delete obj[key];
}
});

return obj;
}),
)

另一个提示:不要将接口名称设置为"接口";(ISomethingSomethingInterface会更好(,并且不要将方法设置为";得到";或";设置";(getSomethingsetSomething也会更好(。

最新更新