修改 Angular 服务中的 api 响应

Ram*_*man 2 rxjs typescript angular

我正在尝试修改 API 请求返回的响应。现在我得到的答复是

\n\n
[\n   {\n       name: "Afghanistan"\n   }, \n   {\n       name: "\xc3\x85land Islands"\n   }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想修改为:

\n\n
[\n   {\n        name: "Afghanistan",\n        name1: "Afghanistan",\n        name2: "Afghanistan"\n    },\n    {\n        name: "\xc3\x85land Islands",\n        name1: "\xc3\x85land Islands",\n        name2: "\xc3\x85land Islands"\n    }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在尝试复制名称字段并创建新字段,例如:同一对象中的 name1、name2 。这是工作项目https://stackblitz.com/edit/angular-8bzcdp \n任何人都可以帮忙

\n

Nic*_*s K 6

您可以将方法更改为:

  getRecords() {
    return this.http.get('https://restcountries.eu/rest/v2/all').pipe(
      map((res: any[]) => {
        const data = res.map(obj => ({
          name: obj.name,
          name1: obj.name,
          name2: obj.name
        }));
        return data;
      })
    );
  }
Run Code Online (Sandbox Code Playgroud)

在生成的响应数组 ( res[]) 上,我们根据您的条件将每个元素映射到 json 对象,并返回新创建的 json 对象。