0

我有一个称为成员的对象数组

members = [
    {id:'1', firstName:'John', lastName:'Black', birthDate:'1956-11-22', gender:'Male', email:'johnblack@gmail.com', phone:'806-555-1234'}
    {id:'2', firstName:'Josh', lastName:'Black', birthDate:'1950-02-21', gender:'Male', email:'joshblack@gmail.com', phone:'806-555-1234'}
    {id:'3', firstName:'Johny', lastName:'Black', birthDate:'1953-02-03', gender:'Male', email:'johnyblack@gmail.com', phone:'806-555-1234'}
]

我需要使用 angular-in-memory-web-api 的 HTTP 请求根据birthDate 从该数组中获取对象,例如大于/小于任何给定日期。

那么,获取大于任何给定日期的日期的条件参数是什么?

 url: api/members/?birthDate{condition}{givenDate}
4

1 回答 1

1

简而言之 - 你不能。至少直到当前写作的版本(0.6.0)

您可以尝试使用正则表达式,但正则表达式在值比较方面表现不佳(尤其是对于日期格式)。为什么要打扰?您将仅在模型中使用 angular-in-memory-web-api,因此只需像这样过滤服务中返回的数据集:

getMembers(value?: string): Observable<Member[]> {
    return this.http.get("api/members")
        .map((response:Response) => {
          let members= <Member[]>response.json().data;     
          if (!value) {
            return members;
          }
          return members.filter(v => v.birthDate<=value);
        })
        .do(data => console.log('members: ' + JSON.stringify(data)))
}

请注意,由于您的 YYYY-mm-dd 格式,我们可以将其作为字符串进行比较,否则 value 和birthDate 应为 Date 类型

于 2018-05-17T22:20:00.377 回答