我有跟踪和地点被推入搜索结果中。我想只显示曲目。地点的_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;
}
});
});
}
};
答案 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;
});