Getting无法读取用于angularjs中搜索的null自定义筛选器的属性“indexOf”

Getting无法读取用于angularjs中搜索的null自定义筛选器的属性“indexOf”,angularjs,Angularjs,我正在为我的表内容搜索使用自定义筛选器我的自定义筛选器功能是 return function(data, search) { if(angular.isDefined(search)) { var results = []; var i; var searchVal = $filter('lowercase')(search); for(i = 0; i < data.length; i++){ var name =

我正在为我的表内容搜索使用自定义筛选器我的自定义筛选器功能是

return function(data, search) {
    if(angular.isDefined(search)) {
      var results = [];
      var i;

      var searchVal = $filter('lowercase')(search);
      for(i = 0; i < data.length; i++){
        var name = $filter('lowercase')(data[i].name);
        var description = $filter('lowercase')(data[i].description);
        if(name.indexOf(searchVal) > -1 || description.indexOf(searchVal) > -1){
          results.push(data[i]);
        }
      }
      return results;
    } else {
      return data;
    }
  };
名称或说明提供空值请尝试上面的代码检查空条件

return function(data, search) {
if(angular.isDefined(search)) {
  var results = [];
  var i;

  var searchVal = $filter('lowercase')(search);
  for(i = 0; i < data.length; i++){
    var name = $filter('lowercase')(data[i].name);
    var description = $filter('lowercase')(data[i].description);
    if(name !== null &&  description !== null){
     if(name.indexOf(searchVal) > -1 || description.indexOf(searchVal) > -1){
      results.push(data[i]);
     }
    }
  }
  return results;
} else {
  return data;
}
};

它可能表示您的名称或描述为null,因此您不能从null调用indexOf方法。
if((name !=null && name.indexOf(searchVal) > -1) || (description!=null && description.indexOf(searchVal) > -1)){
          results.push(data[i]);
    }
return function(data, search) {
if(angular.isDefined(search)) {
  var results = [];
  var i;

  var searchVal = $filter('lowercase')(search);
  for(i = 0; i < data.length; i++){
    var name = $filter('lowercase')(data[i].name);
    var description = $filter('lowercase')(data[i].description);
    if(name !== null &&  description !== null){
     if(name.indexOf(searchVal) > -1 || description.indexOf(searchVal) > -1){
      results.push(data[i]);
     }
    }
  }
  return results;
} else {
  return data;
}
};