在全局搜索中跳过一个对象。

Jump over an object in a global search.

我正在像这样在 ngx-datatable 中创建全局搜索:

filterDatatable(event) {
const val = event.target.value.toLowerCase();
this.temp = this.tempOrig.filter(function(item) {
  let result = false;
  Object.keys(item).forEach(function(key) {
      const value = !!item[key] && item[key];
      if (!!value && value.toLowerCase().indexOf(val) > -1) {
          result = true;
          // break;
          }
      });
  return result;
  });
}

我的搜索是根据我映射的网络服务中的数据完成的。但是,我正在映射的数据的第一个元素是 INT 类型。那么我的函数 value.toLowerCase() 无法处理这个数字。 我们可以只为了搜索而跳过第一个元素吗?或者我必须以不同的方式映射我的项目吗?

您可以测试该项目是否具有 toLowerCase 方法:

if (!!value && value.toLowerCase && value.toLowerCase().indexOf(val) > -1)