私はこのような位置データの地図を持っています:
{
'country': 'Japan',
'city': 'Tokyo',
'Latitude': 35.6762,
'Longitude': 139.6503,
'utcOffset': 9
}
魔女はこのデータを保存するための正しい解決策であり、なぜですか?
1)マップのリスト:
List<Map<String, dynamic>> locations = [
{
'country': 'Japan',
'city': 'Tokyo',
'Latitude': 35.6762,
'Longitude': 139.6503,
'utcOffset': 9
}
];
またはマルチレベルデータオブジェクト
var locations = {
{
'country': 'Egypt',
'city': 'Cairo',
'Latitude': 30.033333,
'Longitude': 31.233334,
'utcOffset': 2
},
{
'country': 'Thailand',
'city': 'Bangkok',
'Latitude': 13.7563,
'Longitude': 100.5018,
'utcOffset': 7
},
};
そして、2つのケースでデータにアクセスする方法は?
両方を使用できますが、アイテムをループしてデータを取得する方が簡単なため、最初の方が推奨されます。2番目のデータセットをループできないわけではありません。配列をループするのが面倒なだけです。
オブジェクトの配列が次のようになっていると仮定します。
List<Map<String, dynamic>> locations = [
{
'country': 'Japan',
'city': 'Tokyo',
'Latitude': 35.6762,
'Longitude': 139.6503,
'utcOffset': 9
}
];
すべての国の名前を取り出して別の配列に格納するとします。これは非常に簡単で、コードは次のようになります。
List<String> countryNames = [];
locations.forEach((location) => countryNames.add(location['country]));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加