Jquery 如何在javascript中比较字符串和哈希表对象

Jquery 如何在javascript中比较字符串和哈希表对象,jquery,cordova,jquery-mobile,Jquery,Cordova,Jquery Mobile,我试图将字符串与哈希表值进行比较。我使用哈希表存储键和值。一切都很顺利,但在比较哈希表值和字符串的过程中失败了 var name= this.innerText; var cityName=name.replace(/\s+/g,' '); for(var k in cityHash ){ if(cityHash.hasOwnProperty(k)){ if(cityName.toLowerCase()==cityHash[k].toLowerCase()){

我试图将字符串与哈希表值进行比较。我使用哈希表存储键和值。一切都很顺利,但在比较哈希表值和字符串的过程中失败了

var name= this.innerText;
var cityName=name.replace(/\s+/g,' ');
for(var k in cityHash ){
    if(cityHash.hasOwnProperty(k)){
        if(cityName.toLowerCase()==cityHash[k].toLowerCase()){
            alert("Match");
        }

终于找到了解决这个问题的办法。在比较之前,我忘了修剪这两个字符串,一个用于哈希表中的值,另一个是UL的内部文本。

You's javascript缺少几个右括号。尝试添加这些,看看是否有区别。如果这不起作用,请尝试包含cityHash对象和this.innerText的示例。您得到的错误是什么?@Syon循环在我的原始代码中非常完美。实际问题是它没有显示警报(“匹配”);。不知道为什么不将哈希表对象与字符串进行比较。还有其他特殊的比较方法吗?@苯并尼科问题没有进入比较IF循环,也没有收到匹配警报。在logcat中,没有错误如果对象值与innerText匹配,代码将正常工作,请参见以下JSFIDLE: