Map 如何将键和值从映射导入变量?

Map 如何将键和值从映射导入变量?,map,foreach,dart,Map,Foreach,Dart,我需要从Dart中的地图导出键和值。在PHP中,我使用函数extract(): 但我不知道,如何在Dart中做同样的事情。它有什么特殊的功能或构造吗?或者如何使用forEach()获得相同的结果?有人能帮我吗 更新1:我的目标来自这样的地图,但非常复杂(示例取自快速启动和运行): 其中我想通过任何简单函数或forEach()循环重写结果: 转换为变量: assert(first=='partridge'); assert(second=='turtledoves'); assert(fifth

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

但我不知道,如何在Dart中做同样的事情。它有什么特殊的功能或构造吗?或者如何使用forEach()获得相同的结果?有人能帮我吗


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

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

转换为变量:

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是一种静态声明的语言。不能在运行时、从映射或以任何其他方式创建新变量名

要引用变量,必须已声明该变量。这意味着,即使可以引入新的变量,也不能在现有代码中引用它


如果变量已经声明,并且您只想给它们赋值,那么可以使用镜像系统,但我不建议这样做。直接访问映射中的值要简单得多。

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

要引用变量,必须已声明该变量。这意味着,即使可以引入新的变量,也不能在现有代码中引用它


如果变量已经声明,并且您只想给它们赋值,那么可以使用镜像系统,但我不建议这样做。直接访问映射中的值要简单得多。

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

要引用变量,必须已声明该变量。这意味着,即使可以引入新的变量,也不能在现有代码中引用它


如果变量已经声明,并且您只想给它们赋值,那么可以使用镜像系统,但我不建议这样做。直接访问映射中的值要简单得多。

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

要引用变量,必须已声明该变量。这意味着,即使可以引入新的变量,也不能在现有代码中引用它


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

什么是提取?结果应该是什么样的?据我所知,在Dart中没有什么能像extract那样。在PHP中
extract()
函数从数组中获取键和值,键转换为变量并赋予它们值,请参见我的更新question@lrnaready提供了一个有保留的答案。我想没有什么可补充的。什么是提取物?结果应该是什么样的?据我所知,在Dart中没有什么能像extract那样。在PHP中
extract()
函数从数组中获取键和值,键转换为变量并赋予它们值,请参见我的更新question@lrnaready提供了一个有保留的答案。我想没有什么可补充的。什么是提取物?结果应该是什么样的?据我所知,在Dart中没有什么能像extract那样。在PHP中
extract()
函数从数组中获取键和值,键转换为变量并赋予它们值,请参见我的更新question@lrnaready提供了一个有保留的答案。我想没有什么可补充的。什么是提取物?结果应该是什么样的?据我所知,在Dart中没有什么能像extract那样。在PHP中
extract()
函数从数组中获取键和值,键转换为变量并赋予它们值,请参见我的更新question@lrnaready提供了一个有保留的答案。我想没有什么可以补充的。最后,我通过镜子做到了。谢谢你的努力最后,我通过镜子成功了。谢谢你的努力最后,我通过镜子成功了。谢谢你的努力最后,我通过镜子成功了。谢谢你的努力
var gifts = {
// Keys       Values
'first'  : 'partridge',
'second' : 'turtledoves',
'fifth'  : 'golden rings'
};
// 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;