#list #flutter #dart
#Список #flutter #dart
Вопрос:
У меня есть следующий список карт:
[
{
"id":1,
"asset_id":"name1",
"asset_price":100.00,
"asset_date":"09-09-09"
},
{
"id":2,
"asset_id":"name2",
"asset_price":50.00,
"asset_date":"10-09-09"
},
{
"id":3,
"asset_id":"name1",
"asset_price":100.00,
"asset_date":"11-09-09"
}
]
Как я могу создать новый список, который объединяет дубликаты asset_id
и суммирует цену, как показано ниже:
[
{
"id":1,
"asset_id":"name1",
"asset_price":200.00,
"asset_date":"09-09-09"
},
{
"id":2,
"asset_id":"name2",
"asset_price":50.00,
"asset_date":"10-09-09"
}
]
Класс
int id;
String assetId;
String assetName;
String assetSymbol;
String assetImage;
double assetAmount;
String assetCurrency;
double assetPrice;
String assetDate;
Asset(
{this.id,
this.assetId,
this.assetName,
this.assetSymbol,
this.assetImage,
this.assetAmount,
this.assetCurrency,
this.assetPrice,
this.assetDate});
Map<String, dynamic> toMapWithoutId() {
final map = new Map<String, dynamic>();
map["id"] = id;
map["asset_id"] = assetId;
map["asset_name"] = assetName;
map["asset_symbol"] = assetSymbol;
map["asset_image"] = assetImage;
map["asset_amount"] = assetAmount;
map["asset_currency"] = assetCurrency;
map["asset_price"] = assetPrice;
map["asset_date"] = assetDate;
return map;
}
Map<String, dynamic> toMap() {
final map = new Map<String, dynamic>();
map["id"] = id;
map["asset_id"] = assetId;
map["asset_name"] = assetName;
map["asset_symbol"] = assetSymbol;
map["asset_image"] = assetImage;
map["asset_amount"] = assetAmount;
map["asset_currency"] = assetCurrency;
map["asset_price"] = assetPrice;
map["asset_date"] = assetDate;
return map;
}
//to be used when converting the row into object
factory Asset.fromMap(Map<String, dynamic> data) => new Asset(
id: data["id"],
assetId: data["asset_id"],
assetName: data["asset_name"],
assetSymbol: data["asset_symbol"],
assetImage: data["asset_image"],
assetAmount: data["asset_amount"],
assetCurrency: data["asset_currency"],
assetPrice: data["asset_price"],
assetDate: data["asset_date"]);
}
Комментарии:
1. Что должно
id
быть в первой записи? Я вижу, что вы удалили его в своем примере, но я не уверен, что это то, чего вы хотите? Или их следуетid
удалить во второй записи в примере?2. Прошу прощения, опечатка с моей стороны. Я хотел бы сохранить самый ранний идентификатор объединенного
3. Будете ли вы создавать объекты из данных? Если да, можете ли вы поделиться своим классом? Итак, я могу дать вам точное решение.
4. Привет, Эсен, добавлена информация о классе
5. Я сократил класс для простоты