我想從類的串列中生成List<String>。
為了簡化,我將名字生成為{$i name}。所以我希望得到的是:
["2 name"/span>, "4 name"/span>, "5 name"/span>]
class MyClass{
late int id;
late String name;
MyClass({required this.id, required this.name})。)
}
List<MyClass> mcList = [] 。
void main() {
List<int> list = [2,4,5] 。
for(var i in [1, 2,3,4,5] ) {
MyClass mc = MyClass(id: i, name: '{$i name}')。)
mcList.add(mc)。
}
// var x = mcList.where((e) => list.contains(e['i'])).toList();
// print(x);
}
uj5u.com熱心網友回復:
我想這就是你要找的東西:
var x = mcList.where((e) => list.contains(e.id)).map((obj) => obj.name).toList()。
我簡單地修正了你的where函式,并將結果,即一個List<MyClass>轉化為一個List<String>,正如你使用map函式所希望的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/313098.html
標籤:
