处理http调用的响应:filter不是一个函数

时间:2018-03-30 06:05:46

标签: javascript angular ionic2

提供商代码:

var clickValue = 0;
var startInterval;
function func() {
  var value = 0;
  var generateValue = function() {
    value = value + 1;
    console.log('value: ' + value);
  }

  clearInterval(startInterval);

  startInterval = setInterval(generateValue, 2000);

  clickValue = clickValue + 1;
  console.log(clickValue + ' click');

  if (clickValue > 1) {
    console.log('Interval on ' + (clickValue-1) + ' click cleared');
  }
}

有问题的一行:

  

返回此.HTTP.get(" https://restcountries.eu/rest/v1/name/" +关键字)   .map(result => {return result.filter(item =>   item.name.toLowerCase()。startsWith(keyword.toLowerCase()))});

正如你所看到的那样,这是一个有问题的界限。

  

属性'过滤器'类型'响应'。

上不存在

请帮帮我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

请试试这个

import { Http } from '@angular/http'
import 'rxjs/add/operator/map';

getResults(keyword:string){
return this.Http.get("https://restcountries.eu/rest/v1/name/"+keyword).map(res=>{
  return res.json()
}).map(fil=>{
    return fil.filter(res=>{
      return res.name.toLowerCase().startsWith(keyword.toLowerCase())
    })
  })

}

在第一个地图中返回json,在第二个地图中执行过滤功能,以根据关键字

过滤结果