You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中获取列表中首个最长的字符串?

获取Dart列表中第一个长度最长的字符串

给定列表:

List<String> list = ['hi', 'hello', 'frozen', 'big mistake', 'cool daddy'];

这里提供两种简洁的实现方式:

方式一:遍历列表记录最长项

直接遍历列表,维护当前最长的字符串,遇到更长的就更新,长度相同时保留先出现的项:

String? findLongestFirst(List<String> list) {
  if (list.isEmpty) return null; // 处理空列表情况
  String longest = list.first;
  for (String str in list) {
    if (str.length > longest.length) {
      longest = str;
    }
  }
  return longest;
}

// 调用示例
var result = findLongestFirst(list);
print(result); // 输出: big mistake

方式二:使用reduce方法

利用Dart集合的reduce方法,一行逻辑就能完成比较,同样会保留第一个出现的最长项:

String? findLongestFirst(List<String> list) {
  if (list.isEmpty) return null; // 处理空列表情况
  return list.reduce((current, next) => next.length > current.length ? next : current);
}

// 调用示例
var result = findLongestFirst(list);
print(result); // 输出: big mistake

注:列表中big mistake和cool daddy长度均为9,但big mistake先出现,因此最终返回它。

内容的提问来源于stack exchange,提问作者Cenk YAGMUR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:25:29