javascript - 字符串比较返回 false
问题描述
为什么这总是返回错误?
var a = new String("17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site inspection><0.55><1,Mileage").trim();
var b = new String("17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site Inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site Inspection><0.55><1,Mileage").trim();
if (a === b){
return true;
} else {
return false;
}
是同一个字符串!
我已经看到使用 trim() 方法回答了其他问题,但它对我不起作用。就像在我看不到的字符串中的某个地方有隐藏的字符。但是当我测试长度时,它们都是 255 个字符长。
解决方案
是同一个字符串!
不,这不对。仔细看:
"17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site inspection><0.55><1,Mileage"
"17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site Inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site Inspection><0.55><1,Mileage"
^ ^
这些不是隐藏字符,它们只是i
/的不同情况I
。发现有
for (let i=0; i<255; i++) if (a[i] != b[i]) console.log(i, a[i], b[i])
推荐阅读
- owasp - 如何在不需要 docker 的情况下运行 OWASP Zed 攻击代理 ZAP 的 zap-api-scan.py
- ruby - Ruby Webdrivers Gem 无法访问站点
- c# - “序列不包含匹配元素”在使用 Effort 的 EF 映射中设置 HasColumnType("varchar")
- swift - 如何在不知道应该获取的实体的情况下声明数据类型 NSFetchRequest 的 let 常量
- javascript - 如何使用 jQuery 对多个 HTML tbodies 进行分页
- vba - 禁用单选按钮后如何启用它?
- javascript - 将包含 5 个项目的数组转换为包含 1 个项目的数组
- spring-cloud - 在 Brave vs. Sleuth 中设置 Span 的跟踪 id
- angular - 带有 GET 请求的空结果
- activemq-artemis - Artemis 2.6.0 三节点集群