2016-07-30 66 views
0

我試圖通過從API(NASA API)返回的數據.map。我遇到的問題是深嵌套的屬性 - here's an example通過深層嵌套的屬性循環 - 反應

data

什麼是獲得陣營嵌套nameestimated_diameter性能數據的最佳方式?所有數據都通過axios正常引入。註銷狀態返回此:

state

我有麻煩map「荷蘭國際集團通過因爲嵌套對象和數組的數據。

+0

你想用這些數據做什麼?你想創建對象的數組,即'無功的OBJ = [{名稱:「(2016 MF1),estimated_diameter:{...等...}' – FuriousD

+0

我不知道這是否是確定或沒有,但你的API密鑰是你給的例子。 – rgoliveira

+0

是,@FuriousD,對象的數組。:) – Guilh

回答

0

假設美國航天局的數據JSON是保存在變量nasaData,下面的代碼將打印所有的名稱和estimated_diameter

var nearEarthObjects = nasaData['near_earth_objects']; 
for (var property in nearEarthObjects) { 
    if (nearEarthObjects.hasOwnProperty(property)) { 
     var data = nearEarthObjects[property]; 
     data.forEach(function(d){ 
      console.log(d['name']); 
      console.log(d['estimated_diameter']); 
     }); 
    } 
} 

PS:這可能是一個reactjs項目,但它實際上只是JavaScript的

0

您可以先映射日期。

const { near_earth_objects } = nasaData; //assuming nasaData is the json object 

const dateKeys = Object.keys(near_earth_objects); 

const nameAndEstimatedDiameters = dateKeys.map((dateKey) => { 
    const dateData = near_earth_objects[dateKey]; 
    const { name, estimated_diameter } = dateData; 
    return { name, estimated_diameter }; 
}); 

//now nameAndEstimatedDiameters is an array of objects here 
//which you can map again 
+0

看起來一切物體的'nameAndEstimatedDiameters'陣列返回爲'undefined'。 – Guilh