2017-04-05 51 views
0

我想在我的對象數組繁殖兩種成分在一起JSON數學值

{ 
    "rx": { 
    "vials": [ 
     { 
     "description": "Rx 1", 
     "strength": 100, 
     "form": "ML", 
     "pkg_size": 10, 
     "case_size": 1, 
     "total_units": strength * pkg_size, 
     "ndc": "12345-1234-12", 
     "covered": true 
     } 
    ] 
    } 
} 

但如果我這樣做

$("#demo").html(rx.vials[0].total_units); 

我什麼也沒得到或NaN

我在做什麼錯?

+1

沒有'你對象 – RomanPerekhrest

+0

再次檢查路徑insulin'關鍵!如果在你提供的對象上調用這個'rx.insulin.vials [0] .total_units'會引發錯誤! –

+2

'strength'和'pkg_size'都未定義 – tom10271

回答

1

你可以嘗試這樣的事情:

你可以做計算後添加total_units財產成vials[0]

var jsonObj = { 
 
    "rx": { 
 
    "vials": [ 
 
     { 
 
     "description": "Rx 1", 
 
     "strength": 100, 
 
     "form": "ML", 
 
     "pkg_size": 10, 
 
     "case_size": 1, 
 
     "ndc": "12345-1234-12", 
 
     "covered": true 
 
     } 
 
    ] 
 
    } 
 
}; 
 

 
jsonObj.rx.vials[0].total_units = jsonObj.rx.vials[0].strength * jsonObj.rx.vials[0].pkg_size; 
 

 
console.log(jsonObj.rx.vials[0].total_units);

1

你不能那樣做。如果你想在一個對象內部做一些數學運算,你必須使用外部變量 - 你不能從內部訪問對象的屬性。

+0

所以像'$(「#demo」).html(rx.vials [0] .strength * rx.vials [0] .pkg_size);'? – abracassabra

1

你可以嘗試這樣的事情:

for (var i = 0; i < rx.vials.length; i++) { 
    rx.vials[i].total_units = rx.vials[i].strength * rx.vials[i].pkg_size; 
} 

console.log(rx.vials[0].total_units);