【问题标题】: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.

}

【问题讨论】:

    标签: list flutter dictionary dart


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

    【讨论】:

    【解决方案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;
    

    【讨论】:

    • 谢谢你们分享了相同的答案,它对我有用:)
    猜你喜欢
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2021-11-13
    • 2019-09-14
    • 1970-01-01
    相关资源
    最近更新 更多