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

如何在Dart中为Set集合的每个元素添加前缀?

为Dart Set集合元素统一添加前缀

针对你给出的Set集合,有几种简洁的方法为每个元素添加指定前缀:

方法一:使用map转换(推荐)

通过map方法遍历集合元素并拼接前缀,最后将结果转回Set类型,这是最简洁且符合函数式编程风格的方式:

Set<String> ids = <String>{'1','2','3','4','5'};
// 生成带前缀的新Set
Set<String> prefixedIds = ids.map((id) => 'ios_$id').toSet();

说明:

  • map((id) => 'ios_$id')会遍历原Set的每个元素,对每个id执行字符串插值拼接前缀操作,返回一个包含处理后元素的Iterable。
  • 调用toSet()将Iterable转换回Set类型,保持集合的特性。

方法二:修改原集合(若需复用原变量)

如果需要直接修改原集合(注意原集合需为可变类型),可以先清空原集合,再添加处理后的元素:

Set<String> ids = <String>{'1','2','3','4','5'};
// 先将原集合的处理结果暂存,再替换原集合内容
ids
  ..clear()
  ..addAll(ids.map((id) => 'ios_$id'));

或者直接重新赋值原变量:

Set<String> ids = <String>{'1','2','3','4','5'};
ids = ids.map((id) => 'ios_$id').toSet();

补充:字符串拼接方式

除了字符串插值'ios_$id',也可以用传统的字符串拼接:

ids.map((id) => 'ios_' + id).toSet();

两种方式效果完全一致,根据个人习惯选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:15:42