在DART中,fold和reduce有什么不同?我什么时候应该使用一个而不是另一个?根据文件,他们似乎在做同样的事情.
通过迭代组合 元素使用提供的 功能.
reduce只能用于非空集合,其函数返回的类型与集合中包含的类型相同.
fold可用于所有情况.
例如,您不能用reduce计算列表中所有字符串的长度之和.您必须使用fold:
reduce
fold
final list = ['a', 'bb', 'ccc']; // compute the sum of all length list.fold(0, (t, e) => t + e.length); // result is 6
顺便说一下,list.reduce(f)可以看作是list.skip(1).fold(list.first, f)的捷径.
list.reduce(f)
list.skip(1).fold(list.first, f)
持续交付36讲 -〔王潇俊〕
数据中台实战课 -〔郭忆〕
如何看懂一幅画 -〔罗桂霞〕
Linux内核技术实战课 -〔邵亚方〕
技术管理案例课 -〔许健〕
WebAssembly入门课 -〔于航〕
打造爆款短视频 -〔周维〕
玩转Vue 3全家桶 -〔大圣〕
徐昊 · TDD项目实战70讲 -〔徐昊〕
快手 · 音视频技术入门课 -〔刘歧〕
深入浅出可观测性 -〔翁一磊〕
超级访谈:对话道哥 -〔吴翰清(道哥)〕
无涯教程 - Flutter教程
无涯教程 - Dart教程
无涯教程 - Linux教程
无涯教程 - Python数据科学教程
无涯教程 - PDFbox教程
无涯教程 - Pandas教程
无涯教程 - Shell/Bash教程
无涯教程 - PHP7 模块化编程教程