dart /扑动:对象列表到其他对象列表

nnt7mjpx  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(135)

我有一个列表的列表,用构造函数创建,如下所示:

class DA_Field {   final int DAFIELDKEY;   final String strGROUP;   final String strText;   String Status;

  DA_Field({
    required this.DAFIELDKEY,
    required this.strGROUP,
    required this.strText,
    this.Status = '?', });}

现在我想把这个列表复制到另一个列表中,比如:

class DA_Field_val {
  final int DAFIELDKEY;
  String Status;

  DA_Field_val({
    required this.DAFIELDKEY,
    this.Status = '?',
  });}

其中DAFIELDKEY在两个列表中应相同,还应复制Status。
我该怎么做呢?

o8x7eapl

o8x7eapl1#

您可以将一个列表Map到另一个类型的列表。如下所示:从DA_Field的现有列表创建新列表
列表列表_DA_字段_值=列表_DA_字段.Map((DA_字段_项)=〉DA_字段_值(DAFIELDKEY:<DA_Field_Val>DA字段项目. DAFIELDKEY,状态:数据类型字段项目状态)). toList(); DA_Field_item.Status)).toList();
完整代码:

class DA_Field {   
  final int DAFIELDKEY;   
  final String strGROUP;   
  final String strText;   
  String Status;

  DA_Field({
    required this.DAFIELDKEY,
    required this.strGROUP,
    required this.strText,
    this.Status = '?', });
}

class DA_Field_val {
  final int DAFIELDKEY;
  String Status;

  DA_Field_val({
    required this.DAFIELDKEY,
    this.Status = '?',
  });
}

void main() {
  List<DA_Field> list_DA_Field = [DA_Field(DAFIELDKEY:1,strGROUP:'xyz', strText: 'abc', Status: 'Pass'), 
                                DA_Field(DAFIELDKEY:7,strGROUP:'abc', strText: 'pqr', Status: 'Fail'),];
  List<DA_Field_val> list_DA_Field_val = list_DA_Field.map((DA_Field_item) => 
                                                         DA_Field_val(DAFIELDKEY: DA_Field_item.DAFIELDKEY, Status: DA_Field_item.Status)).toList();
  
  for (var newObj in list_DA_Field_val)  {
    print (newObj.DAFIELDKEY);
    print (newObj.Status);
  }
}

相关问题