JavaScript中的简单条件

JavaScript中的简单条件,javascript,Javascript,输出: if(rule["a:Value"]["0"]._ !== this.state[propertyName].length){ rett[propertyName] = ""+this.state[propertyName].length rett[propertyName] += rule["a:Value"]["0"]._ rett[propertyName] += "true" return true; }else{ rett[propertyName]

输出:

if(rule["a:Value"]["0"]._ !== this.state[propertyName].length){
  rett[propertyName] = ""+this.state[propertyName].length 
  rett[propertyName] += rule["a:Value"]["0"]._ 
  rett[propertyName] += "true"  
  return true;
}else{
  rett[propertyName] = "false"
  return false;
}
First number=我的条件中的第一个参数

第二个数字=我的状态下的第二个参数


两者都是0。那么为什么我的条件会转到不应该等于..的分支

解决了!感谢费德里科·克莱兹·库洛卡

SubsystemID: "00true"

规则[“a:Value”][“0”]是实际数字还是字符串?因为你在严格比较…请构建一个@FedericoklezCulloca可能是字符串,这就是问题所在。如何改进我的代码?@Bobek了解一下
规则[“a:Value”][“0”]。\uz
有助于了解如何解决此问题。或者,您可以在比较之前将其转换为整数。。。
  if(parseInt(rule["a:Value"]["0"]._) !== (this.state[propertyName].length)){
                                rett[propertyName] = ""+this.state[propertyName].length 
                                rett[propertyName] += rule["a:Value"]["0"]._ 
                                rett[propertyName] += "true"  
                                return true;
                            }
                            else{
                                rett[propertyName] = "false"
                                return false;
                            }