2017-10-15 79 views
0

我有從http請求的響應複雜,如下所示:訪問對象的值的內部陣列

"rates": [ 
      { 
       "non_refundable": false, 
       "no_of_rooms": 1, 
       "includes_wifi": false, 
       "includes_boarding": true, 
       "has_promotions": true, 
       "group_code": "xgirbylkwb6xtg", 
       "currency": "INR", 
       "cancellation_policy": { 
        "under_cancellation": false, 
        "details": [ 
         { 
          "from": "2016-12-25T00:00:00", 
          "flat_fee": 20309.01, 
          "currency": "INR" 
         } 
        ], 
        "cancel_by_date": "2016-12-24T00:00:00", 
        "amount_type": "value" 
       } 
      } 
     ] 

價格長度是6-20之間具有大約200 的"cancellation_policy"節目長度的另一陣列內部只有在"non_refundable": false

我如何訪問"from": "2016-12-25T00:00:00"並更改Moment JS的格式以及如何訪問"flat_fee": 20309.01

我嘗試使用angular.forEach已經但它只定義了最後一個數組的值。

我想這已經:

if ($scope.data[i].rates[j].non_refundable == false) { 
for (var d = $scope.data[i].rates[j].cancellation_policy.details.length - 1; d >= 0; d--) { 

但我沒有成功。

PS: 值應顯示在$mdDialog

+0

你的問題是混亂的。你在問如何在數組中循環? –

+0

@AbhinavJain其實我想在數組中循環它的內部數組,但我只得到最後一個值 –

回答

1

你並不需要循環下的細節,只是做這樣的:

var startdate = $scope.data[i].rates[j].cancellation_policy.details[0].from; 
var new_date = moment(startdate).format('MMMM Do YYYY, h:mm:ss a'); 
var other = $scope.data[i].rates[j].cancellation_policy.details[0].flat_fee; 
+0

我嘗試'var other = $ scope.data [i] .rates [j] .cancellation_policy.details [0 ] .flat_fee;'但仍然只獲取最後一個值,而在某些部分''details「'長度爲2或3我如何獲得這些值? –

+0

你錯過了json對象上的東西嗎?來自對象的 – 2017-10-15 11:14:25

+0

我不這麼認爲我失去了方法在我的代碼中的某些部分我無法弄清楚 –