2016-07-30 57 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