javascript - 两个字符串打印相同但未通过相等测试?
问题描述
我有一个谷歌脚本,它读入两个文件并检查它们之间的相等性。当我记录检查的值时,它们是相同的,但我的代码不起作用。
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,'')
我刚刚尝试将对象转换为字符串并替换所有空格进行比较。但是您应该小心使用上述条件,因为这不会比较真实的字符串。
推荐阅读
- php - 未找到特征“Spatie\MediaLibrary\HasMedia\HasMediaTrait”
- typescript - 易趣网络 API 调用
- android - 如何创建半弯曲形状的图像?
- docker - Traefik HTTPS 入口点配置无法通过让加密工作
- sql - 在 MAC 上安装和运行 Oracle SQL
- json - 如何使用 JSONDecoder 解码未知类型的 JSON?
- c++ - 迭代 STL 集时的奇怪问题
在 C++ 中 - ionic-framework - 离子部署我们应该删除插件 rm cordova-plugin-console
- javascript - vuejs动态组件为v-bind抛出错误:is,错误是属性或方法...未在实例上定义但在渲染期间引用
- python - 我如何将 Python 中的应用程序转换为在 Android 中运行