我需要在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;
答案 0 :(得分:3)
Dart是一种静态声明的语言。您无法在运行时,地图或任何其他方式创建新的变量名称。
为了引用变量,必须已经声明它。这意味着即使您可以引入新变量,也不能在现有代码中对它进行任何引用。
如果已经声明了变量,并且您只想为它们分配值,则可以使用镜像系统,但我不建议这样做。直接在地图中访问值要简单得多。