2017-09-11 4 views
0

Im normalizrを使用して、idに基づいてAPI応答を正規化します。だから、最終的に正規化された応答は、私はフラットなリストにマップするオブジェクトを、この名前を使用するにはどうすればよいobjectMapでフラットリストを使用する

{ 
    "names": { 
    "12": { 
     "Name": "ABC", 
     "Status": "0", 
     "Count": 11, 
    }, 
    "31": { 
     "Name": "CDE", 
     "Status": "1", 
     "Count": 12, 
    } 
    } 
} 

になります。配列ではなくオブジェクトマップです。
これを行うにはどうすればよいですか?

PS:私はロダッシュ_.values()の機能があることを知っていますが、それは巨大な応答のために遅くなると思います。

答えて

1

まずあなたがObject.keys

を持つ配列を返すために、あなたのオブジェクトを変更することができます。このデータ

{ 
    "names": { 
    "12": { 
     "Name": "ABC", 
     "Status": "0", 
     "Count": 11, 
    }, 
    "31": { 
     "Name": "CDE", 
     "Status": "1", 
     "Count": 12, 
    } 
    } 
} 

あなたは、これは、アレイ

を返します

const dataname = data.names 
const datanamearr = Object.keys(dataname).map(key => dataname[key]) 

で行うことができますデータをにレンダリングすることができます地図機能付

{datanamearr.map((item) => 
    <FlatList 
     data={item} 
     renderItem={({item}) => <Text>{item.Name}</Text>} 
    /> 
) 
} 
関連する問題