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

如何将List中所有name为'Alex'的元素更新为'Andy'

批量更新List中符合条件的元素

下面提供几种可行的批量更新方案,针对你的场景可以按需选择:

方法一:遍历原列表直接修改

直接遍历列表中的每个元素,检查name字段是否为Alex,如果是就修改对应的值。这种方式会直接改动原列表,无需创建新对象,效率较高。

List myList = [
  {'name':'Alex'},
  {'name':'Ali'},
  {'name':'jack'},
  {'name':'Alex'},
  {'name':'Alex'},
];

for (var element in myList) {
  if (element['name'] == 'Alex') {
    element['name'] = 'Andy';
  }
}

方法二:生成新列表(不修改原数据)

如果你需要保留原始列表,不想改动它,可以使用map方法生成一个全新的列表,对符合条件的元素进行替换,不符合的直接保留原元素:

List myList = [
  {'name':'Alex'},
  {'name':'Ali'},
  {'name':'jack'},
  {'name':'Alex'},
  {'name':'Alex'},
];

List updatedList = myList.map((element) {
  return element['name'] == 'Alex' ? {'name': 'Andy'} : element;
}).toList();

方法三:用forEach简洁遍历修改

和第一种方式逻辑一致,只是用forEach语法让代码更简洁,同样是直接修改原列表:

List myList = [
  {'name':'Alex'},
  {'name':'Ali'},
  {'name':'jack'},
  {'name':'Alex'},
  {'name':'Alex'},
];

myList.forEach((element) {
  if (element['name'] == 'Alex') {
    element['name'] = 'Andy';
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 02:22:08