如何从飞镖颤动中的键或键值对获取索引

Posted

技术标签:

【中文标题】如何从飞镖颤动中的键或键值对获取索引【英文标题】:How to get index from key or key value pair in dart flutter 【发布时间】:2021-01-07 17:59:21 【问题描述】:

我有一个键值对列表

我想从键(如键 == 0 的列表中获取索引)中搜索索引,然后从该索引中我想更改值。

或将值更改为 key == 1

void main() 
  var listAnswers = [];
  var keyPair = 
    'Key': 0,
    'value': false,
  ;

  listAnswers.add(keyPair);

  keyPair = 
    'Key': 1,
    'value': 1,
  ;

  listAnswers.add(keyPair);

  keyPair = 
    'Key': 2,
    'value': DateTime.now(),
  ;

  listAnswers.add(keyPair);

  print(listAnswers);

  var index = listAnswers.getIndex('key', 0)
  // got the index 1 (where key = 0, and value = false)

  listAnswers[i].value = true; // then I want to do something like this.



【问题讨论】:

【参考方案1】:
  var index = listAnswers.indexWhere((pair) => pair['Key'] == 0);
      print(index);
      
     listAnswers[index]['value'] = true;

【讨论】:

谢谢。梅里姆你是天才:D 你能帮我解决这个问题吗?***.com/questions/64029980/…【参考方案2】:

你已经像这样声明keyPair

var keyPair = 
    'Key': 0,
    'value': false,
  ;

这里keyPairMap

要访问地图中的密钥,您必须使用keyPair['Key']

现在,当您将此地图添加到列表中时,您将获得地图列表。

获取key为0的map的索引。

var index = listAnswers.indexWhere((map) => map['Key'] == 0);

现在要更改该索引处的值。

// listAnswers[index] returns a map
// to access the 'value' you need to use listAnswers[index]['value']
listAnswers[index]['value'] = true;

【讨论】:

谢谢你们分享了相同的答案,它对我有用:)

以上是关于如何从飞镖颤动中的键或键值对获取索引的主要内容,如果未能解决你的问题,请参考以下文章

我如何模拟没有索引的键值对列表(角度)?

java 怎么样获取Map中第几个键值对

Concat json to promise:如何从promise挂起的json对象中获取额外的键值对

如何在 Lua 的键值对表中弹出/删除下一个项目(任何)?

如何在谷歌视觉ocr中获取键值对?

如何从字典列表中向现有键值对添加新的键值对?