Angular 角度6过滤器JSON
嗨,我在过滤一些JSON时遇到问题。组件中的My console.log没有显示任何内容。我想它会显示[2] JSON文件Angular 角度6过滤器JSON,angular,typescript,filter,Angular,Typescript,Filter,嗨,我在过滤一些JSON时遇到问题。组件中的My console.log没有显示任何内容。我想它会显示[2] JSON文件 [1,2,3,4,5] 服务 import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { map, filter } from 'rxjs/operators'; @Injectable({ providedIn: 'r
[1,2,3,4,5]
服务
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { map, filter } from 'rxjs/operators';
@Injectable({
providedIn: 'root',
})
export class SearchFlService {
constructor(private http: HttpClient) {}
getLabels = (searchValue: string) => {
const fl = searchValue.substring(0, 3).toUpperCase();
return this.http.get('/assets/data/fl/' + fl + '.json')
.pipe(
filter((items) => items === 2),
map(
response => {
return response;
},
error => error)
);
}
}
组成部分
this._searchFlService.getLabels(data.value.searchPlant)
.subscribe(items => {
console.log(items);
});
您正在过滤可观察的流,而不是项数组
return this.http.get('/assets/data/fl/' + fl + '.json').pipe(
map(items => {
return items.filter(items => items === 2);
}, error => error)
);
*以上假设get请求返回数组[]。您正在筛选可观察的流,而不是项数组
return this.http.get('/assets/data/fl/' + fl + '.json').pipe(
map(items => {
return items.filter(items => items === 2);
}, error => error)
);
*上面假设get请求返回数组[]。您从中得到了什么?什么都没有?你从中得到了什么?没什么?啊。这是有道理的。它起作用了。谢谢虽然我确实得到了这个消息,但是[ts]属性“filter”在类型“Object”上不存在。我通过添加这个“Array”(res:Array)=>res.filter((item=>item==2)解决了这个问题,我们可以在这里设置一个OR(| |)条件吗,比如(items=>items==2 | | items==5)?啊。这很有意义。它可以工作。谢谢。尽管我确实收到了这个消息[ts]属性“filter”在类型“Object”上不存在。我通过添加此“Array”(res:Array)=>res.filter((item=>item==2)解决了此问题,我们是否可以在此处设置OR(| |)条件,如(items=>items==2 | | items==5)?