為了學習,我創建了一個 Map 串列..我想總結所有鍵的值,除了月份數......總之我想為鍵的值創建回圈
為了查看輸出。我已經使用串列磁貼,其中標題應顯示一些費用,前導顯示月份數
{
'Month':1,
'Lightbill':305,
'Provisional':503,
}
現在我想要這樣
1 808
這是我的基本代碼
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
List<Map<String,int>> mylist=[
{
'Month':1,
'Provisional': 4500,
'Teaexp': 980,
'Lightbill': 1240,
'Assets': 399,
},
{ 'Month':2,
'Provisional': 0250,
'Teaexp': 150,
'Lightbill': 240,
'Assets': 30,
}
];
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: SafeArea(
child: Column(
children: List.generate(mylist.length, (index) {
int sum=0;
sum=sum int.parse(mylist[index]['Provisional'].toString());
return Container(
child: ListTile(
leading:CircleAvatar(child:
Text(mylist[index]['Month'].toString()),),
title: Text(sum.toString()),
),
);
}),
),
),
),
);
}
}
uj5u.com熱心網友回復:
您可以獲得所有值,例如myMap.values和 跳過我正在使用的第一個.skip(),然后使用reduce.
final sum = mylist[index]
.values
.skip(1)
.reduce((value, element) => value element);
更多關于Map和List
uj5u.com熱心網友回復:
我假設所有地圖值都是非空的并且具有 int 型別。你可以做到喜歡它-
Text(
"${(mylist[index]["Lightbill"] as int) (mylist[index]["Provisional"] as int) (mylist[index]["Teaexp"] as int)}"
)
uj5u.com熱心網友回復:
你可以使用這個:
Text((mylist[index].values.sum - mylist[index]['Month']!).toString())
這需要
import 'package:collection/collection.dart';
使用總和
uj5u.com熱心網友回復:
另一種方法是使用該keys屬性來檢索所有鍵的串列并對其進行過濾:
int sum(Map<String, int> input) {
int sum = 0;
input
.keys
.where((String key) => key != 'Month')
.forEach((String key) => sum = input[key]);
return sum;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494757.html
