Angular 2 Service过滤器参数是Array

时间:2017-02-22 10:03:23

标签: angular typescript

我创建了一个服务来获取JSON的过滤结果

getItem(id: string): Observable<any[]> {
    return this.http.get('path/to/my.json')
        .map((response) => {
                let results: any = response.json();

                let filtered: any = results.filter((result) => {
                    return result.field === id;
                })[0];

                return filtered;
            }
        );
}

现在我的参数(id)不是字符串而是数组。我该如何修改我的服务?目前,如果'id'是一个数组,它将返回一个包含来自我的JSON的所有对象的数组。

1 个答案:

答案 0 :(得分:1)

因此,假设它是一个字符串数组,字段应包含在列表中,您可以检查该字段是否在列表中。

ids: string[];

results.filter( (result) => {
    return ids.indexOf(result.field) > -1;
})