我有一个使用ListJs进行排序和过滤的Web应用程序。在我的一段代码中,我具有以下功能:

var filterOptions = { valueNames: ['department'] };

var employeeFilterList = new List('employees', filterOptions);

$('#filter-engineering').click(function() {
  employeeFilterList.filter(function(item) {
    console.log(item.values());
    if (item.values().department === "Engineering") {
      return true;
    } else {
      return false;
    }
  });
  return false;
});


本质上,这是在Web应用程序上执行的操作是在员工目录上使用list.js的排序功能,以仅返回Engineering中的人员。现在这是一个真正的问题,除此问题外,此代码应正常工作。

函数中的console.log返回每个项目的值,如下所示:

javascript - 与自身相比,字符串无法返回true。-LMLPHP

如您所见,该对象的部门值是' Engineering ',其中存在一些奇怪的编码。通过运行代码并刷新页面,我发现由于间距问题,item.values().department === "Engineering"始终为false。可能导致这种情况的原因如何解决?有什么办法可以减少多余的空间吗?

最佳答案

使用trim()删除不必要的空格,而不是if (item.values().department === "Engineering") {使用if (item.values().department.trim() === "Engineering") {

07-24 15:59