如何在没有索引的列表中获取值?

时间:2019-10-08 18:07:05

标签: flutter dart

我正在使用Flutter和Dart创建应用。

我有一个带有name参数的对象列表,我想检查用户输入是否等于list内对象的任何名称。

简单地 我想从用户处获取输入并切换列表中的对象之一是否具有此值以将其添加到列表中

我搜索了很多东西,但一无所获。

void main() {
  Data data = Data();

  String name = 'Messi';
//I want to switch if name equals any name inside players list without index
}

class Data {

  List<Player> players = [

    Player(
    name: 'Messi',
    ),

    Player(
    name: 'Mohamed',
    ),

  ];

}

2 个答案:

答案 0 :(得分:3)

如果要从列表中获取过滤列表,可以执行以下操作:

players.where((player) => player.name == userInput).toList();

如果只希望第一次出现,可以执行以下操作:

players.firstWhere((player) => player.name == userInput);

答案 1 :(得分:2)

您可以使用列表中的forEach方法。

它基本上是这样的:

players.forEach ((player) {
   if(player.name == name){
     your code...
   }
 });

希望这会有所帮助!