forEach方法
- void f(
- String key,
- dynamic value
override
对映射中的每个键值对应用action
。
调用action
时不得从映射中添加或删除键。
final planetsByMass = <num, String>{0.81: 'Venus', 1: 'Earth',
0.11: 'Mars', 17.15: 'Neptune'};
planetsByMass.forEach((key, value) {
print('$key: $value');
// 0.81: Venus
// 1: Earth
// 0.11: Mars
// 17.15: Neptune
});
实现
void forEach(void f(String key, dynamic value)) {
var entries = JS('', '#.entries()', this);
while (true) {
var entry = JS('', '#.next()', entries);
if (JS('bool', '#.done', entry)) return;
f(JS('String', '#.value[0]', entry),
convertNativeToDart_Dictionary(JS('', '#.value[1]', entry)));
}
}