显示某些筛选的搜索结果

时间:2016-05-09 18:14:01

标签: javascript

我有跟踪和地点被推入搜索结果中。我想只显示曲目。地点的_type"system.place",跟踪为"system.tracking"。即使我有一个if语句来检查搜索中的每个结果,它仍然显示所有结果。任何输入都会有所帮助。

 $scope.trackSearchChanged = function(searchText) {
  if (searchText == '') {
    $scope.trackSearchResults = [];
  }
  else {
    Service.typeAheadSearch(searchText, 20).then(function (response) {
      angular.forEach(response.results, function (track, index) {
        if (track._type != "system.place") {
          $scope.trackSearchResults = response.results;
        }
      });
    });
  }
};

1 个答案:

答案 0 :(得分:1)

为了使forEach函数能够过滤任何内容,您必须创建第二个数组以将所需的值推送到其中。

Service.typeAheadSearch(searchText, 20).then(function (response) {
  var places = [];
  angular.forEach(response.results, function (track, index) {
    if (track._type != "system.place") {
      places.push(track);
    }
  });
  $scope.trackSearchResults = places;
});