如何通过List.generate根据索引条件为映射列表分配Type值?
解决方案:为List.generate生成的映射列表添加按索引分组的Type字段
完全可以通过List.generate实现这个需求,只需要在生成每个映射时,根据当前index的值通过条件判断分配对应的Type值即可。以下是修改后的代码:
final List<Map<dynamic, dynamic>> flashcards = List.generate(10, (index) => { "isSelected": false, "id": index, "front": "front $index", "back": "back $index", "reviewDate": DateTime.now(), "answerStreak": 0, "Type": index <= 3 ? "A" : index <= 6 ? "B" : "C" // 根据索引区间分配Type });
逻辑说明:
- 索引
0-3的映射分配"Type":"A" - 索引
4-6的映射分配"Type":"B" - 索引
7-9的映射分配"Type":"C"
如果需要按A→B→C循环分配的规则,也可以改用取余逻辑:
"Type": ["A", "B", "C"][index % 3]
这样索引0、3、6对应"A",1、4、7对应"B",2、5、8、9对应"C",可根据实际需求选择。
内容的提问来源于stack exchange,提问作者Antek Szeptycki
相关产品推荐
相关产品推荐

