Dart/Flutter如何将现有代码段封装为接收数组参数的函数
Dart代码函数封装实现方案
你可以按以下方案完成封装:核心逻辑是把「二维数组扁平化→排序」的逻辑抽离为独立函数,支持传入任意二维整型数组作为参数。
完整可运行代码
void main() { // 测试用的二维数组 var pairs = [[9, 5, 1], [3, 6]]; // 调用封装好的函数 var sortedResult = flattenAndSort(pairs); print('Result: $sortedResult'); } // 封装后的独立函数:入参是二维int数组,返回排序后的一维int数组 List<int> flattenAndSort(List<List<int>> nestedList) { var flattened = nestedList.expand((element) => element).toList(); flattened.sort(); return flattened; }
补充说明
- 如果不需要返回值,仅需要直接打印结果,也可以把函数调整为无返回值的形式:
void printFlattenedSortedList(List<List<int>> nestedList) { var flattened = nestedList.expand((element) => element).toList(); flattened.sort(); print('Result: $flattened'); } // 调用方式:直接传入数组即可 // printFlattenedSortedList([[9, 5, 1], [3, 6]]);
- 如果你需要支持处理其他数字类型的场景,也可以把入参类型调整为
List<List<num>>,返回值对应改为List<num>即可。
内容的提问来源于stack exchange,提问作者artdart
相关产品推荐
相关产品推荐

