Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度6过滤器JSON_Angular_Typescript_Filter - Fatal编程技术网

Angular 角度6过滤器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

嗨,我在过滤一些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: '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)?