【问题标题】:How to import keys and values into variables from a map?如何将键和值从映射导入变量?
【发布时间】:2014-05-21 20:46:25
【问题描述】:

我需要从 Dart 中的 map 中导出键和值。在 PHP 中,我为此目的使用函数 extract():

$array=array('one'=>1,'two'=>2,'three'=>3);
extract($array);

但我不知道如何在 Dart 中做同样的事情。它有什么特殊的功能或构造吗?或者我怎样才能用 forEach() 达到相同的结果?有谁可以帮帮我吗?


更新 1:我的目标来自这样的地图,但非常复杂(示例取自 Dart 启动和运行):

var gifts = {
// Keys       Values
'first'  : 'partridge',
'second' : 'turtledoves',
'fifth'  : 'golden rings'
};

我想通过任何简单的函数或 forEach() 循环重写结果:

// something like gifts.forEach()? but how?

进入变量:

assert(first=='partridge');
assert(second=='turtledoves');
assert(fifth=='golden rings');
//wow, rewritten! The code can continue and use just the variables:
querySelector('#animal').text=first;

【问题讨论】:

  • 什么是提取物?结果应该是什么样子?
  • 据我所知,Dart 中没有提取物。
  • 在 PHP extract() 中,函数从数组中获取键和值,键转换为变量并将值分配给它们,请参阅我更新的问题
  • @lrn aready 提供了一个合格的答案。我觉得没什么好补充的。

标签: map foreach dart


【解决方案1】:

Dart 是一种静态声明的语言。您不能在运行时、从映射或以任何其他方式创建新的变量名称。

为了引用一个变量,它必须已经被声明。这意味着即使您可以引入新变量,您也不能在现有代码中引用它。

如果变量已经声明,而你只是想给它们赋值,你可以使用镜像系统,但我不建议这样做。直接在地图中访问值要简单得多。

【讨论】:

  • 最后,我通过镜子成功了。感谢您的努力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多