两个字符串打印相同但未通过相等性测试?

Two strings print as same but don't pass equality test?

我有一个 google 脚本,它读取两个文件并检查它们之间是否相等。当我记录检查的值时,它们是相同的,但我的代码不起作用。

for(var i = 1; i < partData.length; i++){
  Logger.log("Part Data" + partData[1][2]);
  Logger.log("Name" + name);
  if(partData[1][2] === name)
  {
    temp = i + 1; 
  }
}

日志:

[18-07-13 06:56:15:876 PDT] Part DataES002-101
[18-07-13 06:56:15:877 PDT] NameES002-101

为什么"ES002-101"和"ES002-101"不相等??它们来自不同的工作表和相同的字体,虽然一个更小且更粗,但这应该无关紧要吧?

尝试使用如下代码:

partData[1][2].toString().trim() == name.toString().trim()

如果仍然无效,请尝试使用以下方法:

partData[1][2].toString().replace(/ /g,'')==name.toString().replace(/ /g,'')

我刚刚尝试将对象转换为字符串并替换所有空格以进行比较。但是你应该小心使用上面的条件,因为这不会比较真实的字符串。