7

下面的代码在 Dart M3 中不再有效,我找不到新语法是什么。

有人可以建议吗?

#import('dart:uri');

String encodeMap(Map data) {
  return Strings.join(data.getKeys().map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }), "&");
}
4

1 回答 1

10

只需.join(separator)使用Iterable.

在你的情况下:

import 'dart:uri';

String encodeMap(Map data) {
  return data.keys.map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }).join("&");
}

重大变化:字符串类即将消失

核心中的字符串类(注意尾随的“s”)正在消失。
如果您使用 Strings.join(stringIterable, separator) 将其替换为 stringIterable.join(separator)。
如果您使用 Strings.concatAll(stringIterable) 将其替换为 stringIterable.join()。

于 2013-02-25T09:45:21.053 回答