Can someone help me for a snip of code.

void main() {
  List<List<String>> testList = [["a","b","c"], ["1","2"], ["Y","Z"]];
  
 // Result list I want =>  a1Y, a1Z, a2Y, a2Z, b1Y, b1Z, b2Y, b2Z, c1Y, c1Z, c2Y, c2Z
  
}
  

推荐答案

Similar question Generate all combinations from multiple lists

Answer Source: https://stackoverflow.com/a/17193002/6576315


dart 版本:

void generatePermutations(List<List<String>> lists, List<String> result, int depth, String current) {
    if (depth == lists.length) {
        result.add(current);
        return;
    }

    for (int i = 0; i < lists.elementAt(depth).length; i++) {
        generatePermutations(lists, result, depth + 1, current + lists.elementAt(depth).elementAt(i));
    }
}

用法:

  List<List<String>> testList = [["a","b","c"], ["1","2"], ["Y","Z"]];
  
  List<String> result = <String>[];
      
  generatePermutations(testList, result, 0, "");
  
  print(result);

// prints: [a1Y, a1Z, a2Y, a2Z, b1Y, b1Z, b2Y, b2Z, c1Y, c1Z, c2Y, c2Z]

如果源代码有效,请不要更新源代码

Flutter相关问答推荐

自动测试Flutter应用程序进行QA的最佳方法是什么?

Flutter:如何从Bottom Navigator中删除此内容

壁炉有序在Flutter

使小部件处于有状态状态会导致hasSize异常

如何在Flutter 中创造以下效果

Supabase Auth:重定向到 Google.com 而不是我的应用程序

创建仅定义导出的文件是否有意义?

将自定义容器附加到屏幕底部

ScaffoldMessenger 在等待键下方不起作用

如何拥有 StreamProvider 的多个侦听器,其中稍后添加的侦听器接收最新数据?

转换函数上传文件上传Uint8List

无法使用 bloc 更新 ListView.builder 的特定时间

如何在 GridView.builder 中设置 textform 字段并在 flutter 中将 12 个 textformfield 作为单个字符串获取?

为什么轮播加载图片很慢?

如何限制用户每 24 小时执行的操作数?

如何使用列Flutter 中文本占用的空间来控制svg宽度

Flutter 平台通道将多数据传递给 windows 功能

参数类型MaterialPageRoute不能分配给参数类型String

带有 Dismissible 和 Provider (NotifyListener) 的笨拙动画

如何在Flutter /dart 中从购物车中删除物品