如何将键和值导入地图中的变量?

时间:2014-04-08 22:09:34

标签: map foreach dart

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

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

但我不知道,如何在达特做同样的事情。是否有任何特殊功能或构造?或者如何使用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;

1 个答案:

答案 0 :(得分:3)

Dart是一种静态声明的语言。您无法在运行时,地图或任何其他方式创建新的变量名称。

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

如果已经声明了变量,并且您只想为它们分配值,则可以使用镜像系统,但我不建议这样做。直接在地图中访问值要简单得多。