2014-07-13 85 views
0

我正在比較同一對象的兩個屬性來計算出哪一個較大,如果其中一個較大,則會將另一個屬性設置爲True。否則它將其設置爲false。無法確定某個對象的某個屬性是否大於該對象的另一個屬性

這裏是我的功能:

country.prototype.cure = function(){ 
    for (var i = 0; i<this.diseases.length; i++) 
    { 
    console.log(this.health); 
    console.log(this.diseases[i].cureLevel); 
    if (this.heatlh >= this.diseases[i].cureLevel) 
    { 
    this.diseases[i].cured = true; 
    createDiseaseTable(); 
    } 
    else 
    { 
     this.diseases[i].cured = false; 
    } 
} 
} 

注:this.health = 39000000和this.diseases [I] .cureLevel = 2500000

的問題是,每當我運行的功能,儘管這。健康是較大的,它會永遠錯過了,如果和直行到別的...

+1

你有沒有真的在你的實際代碼中拼寫「heatlh」而不是「健康」? – Pointy

+0

是的,你是對的我在這個功能上拼錯了它......這是漫長的一天..謝謝你們! – ScottRedrup

回答

0

試試這個:

country.prototype.cure = function(){ 
    for (var i = 0; i<this.diseases.length; i++) 
    { 
    var a=parseInt(this.health); 
    var b=parseInt(this.diseases[i].cureLevel); 
    if (a >= b) 
    { 
    this.diseases[i].cured = true; 
    createDiseaseTable(); 
    } 
    else 
    { 
     this.diseases[i].cured = false; 
    } 
} 
} 
+0

只有當屬性值是字符串而不是數字時'parseInt'纔有用;沒有跡象表明在OP中就是這種情況,儘管這當然可能是事實。 – Pointy

+0

我沒有看到任何其他可能的錯誤。我可能是錯的,這就是爲什麼它嘗試這個。 – nsthethunderbolt

相關問題