Доступ к элементу списка, хранящемуся в паре значений ключа, внутри списка карты - PullRequest
0 голосов
/ 06 мая 2020

Я использую flutter / dart и столкнулся со следующей проблемой.

У меня есть список подобных карт.

var questions = [
      {
        'questionText': 'What\'s your favorite color?',
        'answer': ['Black', 'Red', 'Green', 'White']
      },
      {
        'questionText': 'What\'s your favorite animal?',
        'answer': ['Deer', 'Tiger', 'Lion', 'Bear']
      },
      {
        'questionText': 'What\'s your favorite movie?',
        'answer': ['Die Hard', 'Due Date', 'Deep Rising', 'Dead or Alive']
      },
    ];

Теперь предположим, что я нужно получить из этого списка строку Tiger. Как я могу это сделать? Дарт видит это как List<Map<String, Object>> questions

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Может быть, более портативный способ с функцией:

String getAnswer(int question, int answer) {
   return (questions[question]['answer'] as List<String>)[answer];
}

// Get 'Tiger'
String a = getAnswer(1, 1);
1 голос
/ 06 мая 2020

Вы можете преобразовать объект в списке следующим образом, а затем использовать индекс для получения любого значения.

var p = questions[1]['answer'] as List<String>;
print(p[1]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...