2017-01-23 165 views
-4
[{ 
    "Id": 2, 
    "Stock": [{ 
     "Id": 1, 
     "available": 4, 
     "Price": 188.03 
    }, { 
     "Id": 24703, 
     "available": 6, 
     "Price": 175.35 
    }, { 
     "Id": 49405, 
     "available": 10, 
     "Price": 249.52 
    }, { 
     "Id": 74107, 
     "available": 13, 
     "Price": 226.46 
}] 

基於使用JavaScript的上述JSON對象,我將如何根據可用字段獲取價格字段的值?我知道如何獲得位置1的股票的價格價值,但我想要做的是根據條件價值獲取價格價值。從文件中讀取JSON對象

+0

你已經在使用JQuery的?你想要一個帶或不帶JQuery的解決方案嗎?簡短的回答是:獲取它與ajax獲取請求 –

+0

我使用jQuery來獲得任何價格的股票[我],我需要的是基於可用的價格獲得價格 –

+0

另一個問題:你問如何獲取從文件或只是如何根據某些標準從股票數組中獲取特定對象? –

回答

1

您可以嘗試find()方法來查找數組以找到特定元素。

+0

請注意,如果您需要像IE一樣支持舊瀏覽器,find()不可用。 –

0

嘗試

var list_of_wanted_stock = json_value.Stock.filter(function(e) { 
    return (/*condition for the stock you want where e is a stock object*/); 
}) 
0

您可以使用地圖和過濾如下,下面的函數找到股票可用= 10,你可以修改這個條件按您的要求

 var data = [{ 
     "Id": 2, 
     "Stock": [{ 
      "Id": 1, 
      "available": 4, 
      "Price": 188.03 
     }, { 
      "Id": 24703, 
      "available": 6, 
      "Price": 175.35 
     }, { 
      "Id": 49405, 
      "available": 10, 
      "Price": 249.52 
     }, { 
      "Id": 74107, 
      "available": 13, 
      "Price": 226.46 
     }]}]; 

     var dataToBeSearched = data[0].Stock; 

     var result = dataToBeSearched.map(function(a){ 
         if(a.available == 10){ 
         return a; 
         } 
         }).filter(function(element) { 
        return element !== undefined; 
        }); 
     console.log(result);