在 DART 中:如何访问 String 列表的元素 1,它是 Map 主列表元素 1 的键“respostas”的值?
Posted
技术标签:
【中文标题】在 DART 中:如何访问 String 列表的元素 1,它是 Map 主列表元素 1 的键“respostas”的值?【英文标题】:In DART: How can I access the element 1 of the list of String that is the value of the key 'respostas' of the element 1 of the main list of Map? 【发布时间】:2021-10-31 22:23:55 【问题描述】:void main()
final List<Map<String, Object>> perguntas = [
'texto': 'Qual é a sua cor favorita?',
'respostas': ['Preto', 'Vermelho', 'Verde','Branco'],
,
'texto': 'Qual é o seu animal favorito?',
'respostas': ['Coelho', 'Cobra', 'Elefante','Leão'],
,
'texto': 'Qual é o seu instrutor favorito?',
'respostas': ['Jacob', 'Rodrigo', 'Daniel','Leo'],
,
];
如何访问 String 列表的元素 1,它是 Map 主列表元素 1 的键 respostas
的值?
[Coelho, Cobra, Elefante, Leão] ---> 我想访问元素 1:'Elefante'
【问题讨论】:
请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example。 【参考方案1】:开启dartPad 或gist
Main function
void main()
final List<Map<String, Object>> perguntas = [
'texto': 'Qual é a sua cor favorita?',
'respostas': ['Preto', 'Vermelho', 'Verde', 'Branco'],
,
'texto': 'Qual é o seu animal favorito?',
'respostas': ['Coelho', 'Cobra', 'Elefante', 'Leão'],
,
'texto': 'Qual é o seu instrutor favorito?',
'respostas': ['Jacob', 'Rodrigo', 'Daniel', 'Leo'],
,
];
int? foundValueAt;
print(perguntas.length);
for (int i = 0; i < perguntas.length; i++)
final items = perguntas[i]['respostas'] as List<String>;
// finding where `Elefante` contains
print(items.contains("Elefante") ? "YEs" : "NO");
if (foundValueAt == null && items.contains("Elefante"))
foundValueAt = i;
///finding index of `Elefante` inside of list<String>
final index = items.indexWhere((element) => element == 'Elefante');
print("index of Elefante => $index");
///let's change the value
perguntas[i]['respostas'] = items
..removeAt(index)
..add("newValue");
print('Elefante found onMainList: index $foundValueAt');
print("new Value>> ");
perguntas.forEach((e)
print(e.toString());
);
结果
3
NO
YEs
index of Elefante => 2
NO
Elefante found onMainList: index 1
new Value>>
texto: Qual é a sua cor favorita?, respostas: [Preto, Vermelho, Verde, Branco]
texto: Qual é o seu animal favorito?, respostas: [Coelho, Cobra, Leão, newValue]
texto: Qual é o seu instrutor favorito?, respostas: [Jacob, Rodrigo, Daniel, Leo]
【讨论】:
以上是关于在 DART 中:如何访问 String 列表的元素 1,它是 Map 主列表元素 1 的键“respostas”的值?的主要内容,如果未能解决你的问题,请参考以下文章