Flutter:使用分隔符从列表创建地图

Posted

技术标签:

【中文标题】Flutter:使用分隔符从列表创建地图【英文标题】:Flutter: Create map from list using a delimiter 【发布时间】:2020-12-14 16:35:54 【问题描述】:

我正在尝试在本地存储具有特定颜色的活动列表,并尝试将列表转换为地图或列表列表。

使用共享首选项在本地保存数据我有以下列表:

List<String> value = ['Sleep: Blue', 'Meditation: Green', 'Running: Red'];
prefs.setStringList('ActivityList', value);  //save data locally

但我希望能够检索表单的对象:

values = [ 'Sleep', 'Blue', 'Meditation', 'Green', 'Running', 'Red' ];

最好的方法是什么?如何使用分隔符“:”来相应地拆分数据?

提前致谢!

【问题讨论】:

【参考方案1】:

我不确定你所说的对象数组是什么意思。如果您只是想要一组对,那么以下内容应该适合您

value.map((item) => item.split(": "))

或者,如果您想从数据中获取键值映射,则可以执行以下操作:

Map.fromEntries(value.map((item) 
   List<String> pair = item.split(": ");
   return MapEntry(pair[0], pair[1]);
));

【讨论】:

以上是关于Flutter:使用分隔符从列表创建地图的主要内容,如果未能解决你的问题,请参考以下文章

从列表创建组合,如果子字符串到分隔符字符位于列表项的 1 个以上的子元素中,则从列表中删除

从 C# 中的列表创建逗号分隔列表而不终止逗号

从包含以逗号分隔的数字的字符串创建列表;蟒蛇 3

从IEnumerable创建逗号分隔的列表

如何使用 : 分隔符创建列表?

Flutter——最详细ListView(列表)布局教程