首页 > 解决方案 > 如何在飞镖中添加两个列表的匹配元素?

问题描述

我在 Dart 中有两个长度相同的整数列表,并希望返回第一个列表,并将第二个列表的匹配元素添加到每个整数中。

目前我正在使用asMapforEach使用它们的索引来更新元素:

  List listA = [1,2,3];
  List listB = [4,5,6];
  listA.asMap().forEach((index, value) {
    listA[index] = listA[index] + listB[index];
  });
  print(listA); \\ [5, 7, 9]

这有效,但感觉不优雅。

有没有更好、更省心的方法来做到这一点?

(性能对我来说不是问题,因为各个列表最多只有几个元素。)

标签: dart

解决方案


只需使用普通for循环而不是扭曲您的代码来使用.forEach;它简单、直接且易读:

List listA = [1,2,3];
List listB = [4,5,6];

assert(listA.length == listB.length);
for (var i = 0; i < listA.length; i += 1) {
  listA[i] += listB[i];
}
print(listA); // [5, 7, 9]

推荐阅读